Számolja meg a különböző kombinációkat több oszlopon az SQL-ben

Szamolja Meg A Kulonbozo Kombinaciokat Tobb Oszlopon Az Sql Ben



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:

SZÁM KIVÁLASZTÁSA ( DISTINCT CONCAT ( Ügyfél-azonosító, '-' , termék azonosító ) ) mint eredmény
é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.