it-swarm.com.de

Zählen Sie unterschiedliche Wertepaare in mehreren Spalten in SQL

Bei welcher Abfrage wird die Anzahl der Zeilen gezählt, die sich jedoch durch drei Parameter unterscheiden.

Beispiel:

Id      Name        Address 
==============================
1     MyName        MyAddress
2     MySecondName  Address2

So etwas wie:

select count(distinct id,name,address) from mytable
25
user1866731

Um die Anzahl der eindeutigen Kombinationen von id, name und address zu ermitteln:

SELECT Count(*)
FROM   (
        SELECT DISTINCT
               id
             , name
             , address
        FROM   your_table
       ) As distinctified
25
gvee

Rufen Sie alle unterschiedlichen id-, name- und address-Spalten ab und zählen Sie die resultierenden Zeilen.

SELECT COUNT(*) FROM mytable GROUP BY id, name, address
8
Dzhuneyt

Eine andere (wahrscheinlich nicht produktionsbereite oder empfohlene) Methode, die ich gerade entwickelt habe, besteht darin, die Werte zu einer Zeichenfolge zusammenzufügen und diese Zeichenfolge eindeutig zu zählen:

SELECT count(DISTINCT concat(id, name, address)) FROM mytable;
5
22samuelk

Sie können auch etwas tun:

SELECT COUNT(DISTINCT id + name + address) FROM mytable
1
Tadej