Database
 sql >> база данни >  >> RDS >> Database

Как да не се показват дубликати в SQL

Проблем:

Искате да показвате недублиращи се записи в SQL.

Пример:

Нашата база данни има таблица с име City с данни в колоните id , name и country .

id име държава
1 Мадрид Испания
2 Барселона Испания
3 Варшава Полша
4 Краков Полша

Нека получим имената на държавите без дубликати.

Решение:

Ще използваме ключовата дума DISTINCT . Ето заявката:

SELECT
DISTINCT country
FROM City;

Ето резултата от заявката:

държава
Испания
Полша

Дискусия:

Ако искате заявката да връща само уникални редове, използвайте ключовата дума DISTINCT след SELECT . DISTINCT може да се използва за извличане на уникални редове от една или повече колони. Трябва да посочите колоните след DISTINCT ключова дума.

Как работи под капака? Когато заявката се изпълни, първо се избира целия набор от данни, след това DISTINCT премахва редовете, които се дублират предвид избраните колони.

В нашия пример и Испания, и Полша се срещат по два пъти в таблицата. Въпреки това, след прилагане на ключовата дума DISTINCT , всеки от тях се връща само веднъж.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обща грешка:Несъответствие на версията на ОС

  2. Съпоставяне на предлагането с търсенето — Решения, част 2

  3. Опции за база данни/Отчитане за използване на пакети

  4. SQL COUNT() за начинаещи

  5. Митове за производителността:Огромни колони с низове