История изменений
Исправление korvin_, (текущая версия) :
Допускаю, что тоже неправильно понял исходную задачу.
Вроде пример no-such-file с SQL довольно понятен.
Заходим в доку, смотрим первый пример.
Исходный набор данных t:
(id) | ar1 | ar2
------+-----+-----
0 | 10 | 1
1 | 100 | 3
2 | 100 | 2
3 | 0 | 4
Применяем
array_multisort($ar1, $ar2);
SELECT id, ar1, ar2 FROM t ORDER BY ar1
Получаем:
(id) | ar1 | ar2
------+-----+-----
3 | 0 | 4
0 | 10 | 1
2 | 100 | 2
1 | 100 | 3
Применяем
(let ((ar1 '(10 100 100 0))
(ar2 '( 1 3 2 4)))
(format t "~a~%" (sort (list ar1 ar2) (multicolumn-sorter #'> '(1)))))
Получаем:
; ((10 100 100 0) (1 3 2 4))
то есть
(id) | ar1 | ar2
------+-----+-----
0 | 10 | 1
1 | 100 | 3
2 | 100 | 2
3 | 0 | 4
Ничего не поменялось. Пробовал разное подставлять в columns =/
Исходная версия korvin_, :
Допускаю, что тоже неправильно понял исходную задачу.
Вроде пример no-such-file с SQL довольно понятен.
Заходим в доку, смотрим первый пример.
Исходный набор данных t:
(id) | ar1 | ar2
------+-----+-----
0 | 10 | 1
1 | 100 | 3
2 | 100 | 2
3 | 0 | 4
Применяем
array_multisort($ar1, $ar2);
SELECT id, ar1, ar2 FROM t ORDER BY ar1
Получаем:
(id) | ar1 | ar2
------+-----+-----
3 | 0 | 4
0 | 10 | 1
2 | 100 | 2
1 | 100 | 3
Применяем
(let ((ar1 '(10 100 100 0))
(ar2 '( 1 3 2 4)))
(format t "~a~%" (sort (list ar1 ar2) (multicolumn-sorter #'> '(1)))))
Получаем:
; ((10 100 100 0) (1 3 2 4))
то есть
(id) | ar1 | ar2
------+-----+-----
0 | 10 | 1
1 | 100 | 3
2 | 100 | 2
3 | 0 | 4
Ничего не поменялось. Пробовал разное подставлять в columns =/