[英]Count distinct value of column regardless change in other columns
我有下表:
+---------+---------+--------+------+
| Whisper | Client | Tenant | Ring |
+---------+---------+--------+------+
| W1 | iOS | T3 | R1 |
+---------+---------+--------+------+
| W2 | iOS | T2 | R1 |
+---------+---------+--------+------+
| W1 | Android | T3 | R1 |
+---------+---------+--------+------+
| W2 | Android | T2 | R1 |
+---------+---------+--------+------+
| W3 | Android | T4 | R2 |
+---------+---------+--------+------+
我想計算不同的耳語,知道客戶列發生了變化,目前我正在使用這個:
WhipserCounts =
SELECT COUNT(DISTINCT Whipser) AS Whispers,
Client,
Tenant,
Ring
FROM InputData
GROUP BY Client, Tenant, Ring;
但是我看到每個客戶端的 W1 和 W2 被計算兩次,但是無論客戶端是什么,我都需要將它們視為一個,所以第一次如果我得到 iOS,我需要將客戶端設置為第一個值。 (知道同時需要output表中的client)。
我得到了什么:
+----------+---------+--------+------+
| Whispers | Client | Tenant | Ring |
+----------+---------+--------+------+
| 1 | iOS | T3 | R1 |
+----------+---------+--------+------+
| 1 | iOS | T2 | R1 |
+----------+---------+--------+------+
| 1 | Android | T3 | R1 |
+----------+---------+--------+------+
| 1 | Android | T2 | R1 |
+----------+---------+--------+------+
| 1 | Android | T4 | R2 |
+----------+---------+--------+------+
我需要的:
+----------+---------+--------+------+
| Whispers | Client | Tenant | Ring |
+----------+---------+--------+------+
| 1 | iOS | T3 | R1 |
+----------+---------+--------+------+
| 1 | iOS | T2 | R1 |
+----------+---------+--------+------+
| 1 | Android | T4 | R2 |
+----------+---------+--------+------+
你能幫忙嗎?
為此,您需要使用MAX()
,而不是分組:
SELECT COUNT(DISTINCT Whipser) AS Whispers,
MAX(Client),
Tenant,
Ring
FROM InputData
GROUP BY Tenant, Ring;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.