sql >> Database teknologi >  >> RDS >> Mysql

Mysql vælg distinkt

DISTINCT er ikke en funktion, der kun gælder for nogle kolonner. Det er en forespørgselsmodifikator, der gælder for alle kolonner i valglisten.

Det vil sige, DISTINCT reducerer kun rækker, hvis alle kolonner er identiske med kolonnerne i en anden række.

DISTINCT skal følge umiddelbart efter SELECT (sammen med andre forespørgselsmodifikatorer, såsom SQL_CALC_FOUND_ROWS). Efter forespørgselsmodifikatorerne kan du angive kolonner.

  • HØJRE: SELECT DISTINCT foo, ticket_id FROM table...

    Udskriv en række for hver særskilte parring af værdier på tværs af ticket_id og foo.

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

    Hvis der er tre forskellige værdier af ticket_id, ville dette kun returnere tre rækker? Hvad hvis der er seks forskellige værdier af foo? Hvilke tre værdier af de seks mulige værdier for foo skal udlæses?
    Det er tvetydigt som skrevet.



  1. Sådan tilføjer du standardbegrænsning til eksisterende kolonner i SQL Server-tabel - SQL Server / TSQL selvstudium, del 91

  2. Sådan vises alle visninger i en PostgreSQL-database

  3. Hvordan kan jeg få listen over tabeller i den lagrede procedure?

  4. SQL opdeler værdier til flere rækker