Amikor SQL adatbázisokban dolgozik, előfordulhat, hogy meg kell találnia a különböző értékeket egy adott táblában, és el kell távolítania az ismétlődő értékeket. A legtöbb esetben főként a megkülönböztető záradékot használjuk annak az oszlopnak a meghatározására, amelynek értékeit egyedivé szeretnénk tenni.
De mi történik, ha biztosítani szeretné, hogy a több oszlopból származó értékek egyediek legyenek, és ne legyenek ismétlődések?
Ebben az oktatóanyagban megtanuljuk, hogyan használhatjuk az SQL-szolgáltatásokat két vagy több oszlop kiválasztásához, és biztosíthatjuk, hogy értékeik elkülönüljenek.
Probléma:
Tegyük fel, hogy van egy több oszlopos táblázatunk, és meg akarjuk számolni az ezekben az oszlopokban lévő különböző értékkombinációk számát.
Vegyünk például egy értékesítési adatok táblázatát a customer_id, product_id és date oszlopokkal. Meg akarjuk számolni a customer_id és a product_id egyedi kombinációinak számát.
Számolja meg a különböző kombinációkat több oszlopon az SQL-ben
A COUNT DISTINCT záradék és az SQL CONCAT függvényének használatával több oszlopban is megszámolhatjuk a különböző kombinációk számát.
A CONCAT függvény lehetővé teszi, hogy két vagy több értéket egyetlen értékké fűzzünk össze, amelyet aztán összehasonlíthatunk és számolhatunk.
Ezt jobban szemléltethetjük a következő szintaxis használatával:
SZÁM KIVÁLASZTÁSA ( DISTINCT CONCAT ( oszlop1, oszlop2 ) )FROM tábla_neve;
Ebben az esetben az oszlop1 és oszlop2 azokra az oszlopokra utal, amelyeket össze akarunk fűzni a számlálás során, a tábla_neve pedig a céltábla nevére utal.
Vegyünk egy mintatáblázatot:
TÁBLÁZAT-értékesítések létrehozása (id INT ELSŐDLEGES KULCS,
customer_id INT,
product_id INT,
dátum DÁTUM
) ;
INSERT AZ értékesítési ÉRTÉKEKBE
( 1 , 100 , 1 , '2023-05-01' ) ,
( 2 , 101 , 1 , '2023-05-02' ) ,
( 3 , 100 , 2 , '2023-05-02' ) ,
( 4 , 102 , 3 , '2023-05-03' ) ,
( 5 , 101 , 2 , '2023-05-03' ) ,
( 6 , 103 , 2 , '2023-05-04' ) ,
( 7 , 100 , 3 , '2023-05-04' ) ,
( 8 , 102 , 1 , '2023-05-05' ) ,
( 9 , 101 , 3 , '2023-05-05' ) ,
( 10 , 103 , 1 , '2023-05-06' ) ;
Eredmény táblázat:
Az előző táblázatban szereplő customer_id és product_id oszlopok egyedi kombinációinak számának meghatározásához a következőképpen használhatjuk a lekérdezést:
értékesítésből;
Az előző lekérdezésben a megkülönböztető záradékot és a concat függvényt használjuk a customer_id és a product_id értékeinek kötőjellel történő összefűzésére. Ennek minden kombinációhoz egyetlen értéket kell létrehoznia, amint az a következőkben látható:
Innentől kezdve a count függvénnyel megszámolhatjuk az egyedi kombinációkat a kapott táblázatból.
Következtetés
Reméljük, hogy ez az oktatóanyag segített Önnek. Ebben a bejegyzésben felfedezte, hogyan kombinálhatja a különálló záradékot, a concat() függvényt és a count záradékot, hogy meghatározza az egyedi értékeket több SQL-tábla oszlopából.