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
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
Obtenez toutes les colonnes id
, name
et address
distinctes et comptez les lignes obtenues.
SELECT COUNT(*) FROM mytable GROUP BY id, name, address
Une autre méthode (probablement pas prête pour la production ou recommandée) que je viens de créer consiste à concatter les valeurs dans une chaîne et à compter cette chaîne de manière distincte:
SELECT count(DISTINCT concat(id, name, address)) FROM mytable;
Vous pouvez aussi faire quelque chose comme:
SELECT COUNT(DISTINCT id + name + address) FROM mytable