Пишу запрос на выборку ТОП-10 покупателей. Вывести покупателей за все время я смог запросто, но встал вопрос о сортировке по дате. Записал запрос таким образом, все выполняется, но сортировки по UNIX столбцу o.date не происходит. Запрос:
SELECT o.user_id, SUM(o.total_price) as nsum, o.date as odate, u.id as uid, u.balance as balance, u.name as login
FROM s_orders as o,s_users as u
WHERE user_id!='NULL'
AND o.user_id=u.id
AND o.date >= UNIX_TIMESTAMP(DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY))
GROUP BY user_id
ORDER BY nsum DESC
LIMIT 10
чтобы была сортировка по столбцу o.date её нужно явно указать в части ORDER BY
сейчас o.date выбирается случайным образом из группы с одинаковым user_id, так как указан без групповых функций
Предположу, что вы хотите получить дату последнего заказа для каждого юзера, тогда используйте max(o.date) as odate
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости