| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Тупление над GROUP BY |
| Автор: Orient 5.7.2007, 09:10 |
| Всем привет! Есть у меня табличка Datas: ID Town Data 1 Moscow Data 1 2 Minsk Data 2 3 Moscow Data 2 Так вот, когда выпаюсь сделать вот такой запрос: SELECT * FROM `Datas` GROUP BY `Town` Результат у меня почему-то получается отфильрованным: 1 Moscow Data 1 2 Minsk Data 2 Ежели я напишу SELECT * FROM `Datas` GROUP BY `Town`, `Key` То результат будет таким каким я и хотел бы его видеть: 2 Minsk Data 2 1 Moscow Data 1 3 Moscow Data 2 Походу у меня проблемы с матчастью. Объясните неразумному почему мой первый запрос становится фильтрованным? Спасибо |
| Автор: Burrr 5.7.2007, 10:16 | ||
| Orient, вообще-то GROUP BY группирует запросы и первый результат является на 100% верным. Судя по контексту тебе нужен ORDER BY (сортировка, упорядочивание):
|
| Автор: Orient 5.7.2007, 10:29 |
| Похоже я что-то недопонимаю. Что тогда вкладывается в понятие группировка? |
| Автор: Burrr 5.7.2007, 10:45 |
| В случае GROUP BY происходит объединение строк по уникальной записи для заданного поля. А вообще за тем что есть ORDER BY & GROUP BY лучше сходить в мануал. |
| Автор: Orient 5.7.2007, 12:24 |
| угу.. уже обчитался по инету |
| Автор: Samotnik 5.7.2007, 23:56 | ||||||||||
| Group BY обычно применяется с функциями агрегирования. К примеру с SUM Таблица Tabel :
К примеру пишим:
Получим:
И получается безсмыслицца!!!! А если юзать GROUP BY
То получим:
Примерно такой смысл Group BY А Order BY применяется для сортировки и упорядочевания результатов звпроса!!! Так что матрите, что нужно то и используйте!!! |