Разница между GROUP BY и DISTINCT
Допустим есть следующая таблица:
+----+--------+---------+---------+ | id | lang | engine | version | +----+--------+---------+---------+ | 1 | PHP | Laravel | 7 | +----+--------+---------+---------+ | 2 | PHP | Laravel | 8 | +----+--------+---------+---------+ | 3 | Python | Django | 3 | +----+--------+---------+---------+ | 4 | Ruby | RoR | 6 | +----+--------+---------+---------+ | 5 | PHP | Yii | 2 | +----+--------+---------+---------+
Команда GROUP BY
группирует записи по указанному полю.
SELECT lang,engine FROM posts GROUP BY lang
В результате записи покажутся в следующем виде:
+--------+---------+ | lang | engine | +--------+---------+ | PHP | Laravel | +--------+---------+ | Python | Django | +--------+---------+ | Ruby | RoR | +--------+---------|
DISTINCT
Команда DISTINCT
работает аналогично, только выводит записи, чтобы связка из нескольких полей не повторялась.
SELECT DISTINCT lang,engine FROM posts
В результате записи покажутся в следующем виде:
+--------+---------+ | lang | engine | +--------+---------+ | PHP | Laravel | +--------+---------+ | PHP | Yii | +--------+---------+ | Python | Django | +--------+---------+ | Ruby | RoR | +--------+---------|
Поддержать автора