sql >> Databasteknik >  >> RDS >> Mysql

Mysql välj distinkt

DISTINCT är inte en funktion som bara gäller för vissa kolumner. Det är en frågemodifierare som gäller för alla kolumner i urvalslistan.

Det vill säga, DISTINCT reducerar rader endast om alla kolumner är identiska med kolumnerna i en annan rad.

DISTINCT måste följa omedelbart efter SELECT (tillsammans med andra frågemodifierare, som SQL_CALC_FOUND_ROWS). Sedan efter frågemodifierarna kan du lista kolumner.

  • HÖGER: SELECT DISTINCT foo, ticket_id FROM table...

    Skriv ut en rad för varje distinkt parning av värden över ticket_id och foo.

  • FEL: SELECT foo, DISTINCT ticket_id FROM table...

    Om det finns tre distinkta värden för ticket_id, skulle detta endast returnera tre rader? Vad händer om det finns sex distinkta värden för foo? Vilka tre värden av de sex möjliga värdena för foo ska matas ut?
    Det är tvetydigt som skrivet.



  1. Välj värden från XML-fältet i SQL Server 2008

  2. Hur man går igenom en avgränsad lista i Oracle PLSQL

  3. Komma igång Justera prestanda i Azure SQL Database

  4. Oracle SQL, sammanfoga flera kolumner + lägg till text