[SQL ] COUNT中使用DISTINCT的問題
MySQL版本:5.0.51a
環境:windows 2003 server + phpMyAdmin
現在我的table有x,y,z三個欄位,其中z欄位只有五種值1,2,3,4,5
SELECT COUNT( DISTINCT `x`,`y` ) FROM `table` WHERE 1
得到的加總結果是217
但是當我把這個動作分開成五個query的時候……
SELECT COUNT( DISTINCT `x`,`y` ) FROM `table` WHERE `z` = 1
SELECT COUNT( DISTINCT `x`,`y` ) FROM `table` WHERE `z` = 2
SELECT COUNT( DISTINCT `x`,`y` ) FROM `table` WHERE `z` = 3
SELECT COUNT( DISTINCT `x`,`y` ) FROM `table` WHERE `z` = 4
SELECT COUNT( DISTINCT `x`,`y` ) FROM `table` WHERE `z` = 5
他們得到的結果分別會是46, 93, 67, 64, 28
46+93+67+64+28=298≠217 orz
而不使用DISTINCT的時候這個問題就消失了,請問有人知道為什麼會發生這種情形嗎……?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.254.98
※ 編輯: nevermind 來自: 140.113.254.98 (01/11 06:52)
※ 編輯: nevermind 來自: 140.113.254.98 (01/11 06:53)
推
01/11 06:54, , 1F
01/11 06:54, 1F
→
01/11 06:55, , 2F
01/11 06:55, 2F
→
01/11 07:02, , 3F
01/11 07:02, 3F