Compter les paires de valeurs distinctes dans les colonnes multiples en SQL

quelle requête comptera le nombre de lignes, mais distincte par trois paramètres?

Exemple:

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

quelque Chose comme:

select count(distinct id,name,address) from mytable
21
demandé sur Kevin Panko 2013-09-10 13:56:11

4 réponses

pour obtenir le nombre de combinaisons uniques de id,name et address:

SELECT Count(*)
FROM   (
        SELECT DISTINCT
               id
             , name
             , address
        FROM   your_table
       ) As distinctified
23
répondu gvee 2013-09-10 10:03:55

Obtenir tous distincts id,name et address colonnes et compter les lignes résultantes.

SELECT COUNT(*) FROM mytable GROUP BY id, name, address
8
répondu hasMobi - Android Apps 2013-09-10 09:57:34

une autre méthode (probablement pas prête pour la production ou recommandée) que je viens de proposer est de concatter les valeurs d'une chaîne et de la Compter distinctement:

SELECT count(DISTINCT concat(id, name, address)) FROM mytable;
5
répondu 22samuelk 2017-05-25 14:18:01

Vous pouvez aussi faire quelque chose comme:

SELECT COUNT(DISTINCT id + name + address) FROM mytable
0
répondu Tadej 2018-02-19 08:58:23