У меня есть следующие LEFT JOIN заявление (хотя, вероятно, относится и к еще более простой ЗЕЬЕСТ):Присоединиться к заявлению ... как делать ORDER BY?
SELECT * FROM t1 LEFT JOIN t2 ON t2.c = t1.c WHERE t1.m LIKE 'captain%' GROUP BY
t1.c ORDER BY t2.date DESC LIMIT 0,10
Результаты получить вернулся, но они не упорядочены по t2.date DESC ... Я полагаю, что это из-за наличия там предложения GROUP BY. Как я могу группировать результаты и заказывать их?
ТНХ
Возможно, это просто моя незнакомость с MySQL, но что это за результат SELECT *, а GROUPING на одном столбце? Первое, что я ожидаю, - « недействителен в списке SELECT, потому что он не содержится в агрегатной функции или в предложении GROUP BY» ... Можете ли вы не просто добавить t2.date в GROUP BY? –
@ginius Нет, он не игнорирует ORDER BY. Я сомневаюсь, что значения t2.date не в порядке, поэтому вы должны показать их. – AndreKR
@djacobson: Вы правы ожидать этого, но MySQL (в режиме по умолчанию) работает немного по-другому: он выбирает неопределенные (случайные) значения для этих столбцов. – AndreKR