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

Mysql изберете различен

DISTINCT не е функция, която се прилага само за някои колони. Това е модификатор на заявка, който се прилага за всички колони в списъка за избор.

Тоест, DISTINCT намалява редовете само ако всички колоните са идентични с колоните на друг ред.

DISTINCT трябва да следва непосредствено след SELECT (заедно с други модификатори на заявка, като SQL_CALC_FOUND_ROWS). След това, следвайки модификаторите на заявката, можете да изброите колони.

  • НАДЯСНО: SELECT DISTINCT foo, ticket_id FROM table...

    Изведете ред за всяко отделно сдвояване на стойности в ticket_id и фу.

  • ГРЕШНО: SELECT foo, DISTINCT ticket_id FROM table...

    Ако има три различни стойности на ticket_id, това ще върне ли само три реда? Ами ако има шест различни стойности на foo? Кои три стойности от шестте възможни стойности на foo трябва да бъдат изведени?
    Това е двусмислено, както е написано.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да преброите всички редове, когато използвате SELECT с LIMIT в MySQL заявка?

  2. Имена на динамични таблици във функцията за съхранена процедура

  3. Важни проверки на здравето за вашите MySQL сървъри с реплики

  4. Мониторинг на база данни - Отстраняване на неизправности в Prometheus с табла за управление на SCUMM

  5. Индексът за решаване за потребител на таблица е повреден; опитайте се да го поправите