CHill60
Решение 1 на самом деле является очень хорошим примером, но вам придется запустить SQL, чтобы увидеть это.
Ваш вопрос должен был быть помечен как MySQL, так как если вы запустите свой второй запрос с MS Sql Server, вы получите сообщение об ошибке
Цитата:
Столбец "wp_usermeta.umeta_id" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
Это может на самом деле дать вам намек на разницу.
ORDER BY
изменяет
приказ в котором возвращаются строки. Оно
ВИДЫ данные, основанные на имени столбца, которое вы ему даете.
GROUP BY
группирует данные вместе-это
инертные материалы (группы) информация. Обычно вы видите, что он используется с такими функциями, как
SUM
,
COUNT
,
AVG
и т.д.
Используя ту же таблицу, что и Решение 1, этот запрос
SELECT [NAME],AGE FROM PERSON ORDER BY AGE;
давать результат
JACK 20
JANE 20
JOHN 40
JIM 40
20 предшествует 40, поэтому сначала перечисляются все строки с возрастом 20 лет, а затем все строки с возрастом 40 лет.
Этот запрос
SELECT AGE, COUNT([NAME]) FROM PERSON GROUP BY AGE;
давать результат
20 2
40 2
Другими словами, есть 2 строки, которые имеют возраст = 20 и 2 строки, которые имеют возраст = 40