Читаем:
Оператор SQL DISTINCT используется для указания на то, что следует
работать только с уникальными значениями столбца.
Оператор SQL GROUP BY используется для объединения результатов
выборки по одному или нескольким столбцам.
В результате работы с этими предикатами мы получаем уникальные записи по какому либо ключу. Не могу понять в чем их различие.
---- Добалено -----
В моем понимании что GROUP BY - это группировка по какому либо признаку, а то есть например есть поле со значениями:
1
2
3
1
2
3
после GROUP BY они должны стать:
1
1
2
2
3
3
а на деле получаем:
1
2
3
В чем причина?
Ответ
DISTINCT - получить уникальные строки (отличающиеся друг от друга любым отображаемым полем). Работает чуть быстрее.
GROUP BY - сгруппировать по какому-либо признаку, при этом можно использовать агрегатные функции SUM, AVG, MAX и т.д.
Добавлено
Дано
1
2
3
1
2
3
С помощью ORDER BY получим сортировку
1
1
2
2
3
3
С помощью DISTINCT уникальные значения
1
2
3
А с помощью GROUP BY можно посчитать кол-во вхождений
SELECT value, COUNT(*) FROM table_test
value COUNT(*)
1 2
2 2
3 2
Комментариев нет:
Отправить комментарий