我有一個名爲temp
有三列一個簡單的表和以下數據:不正確的結果,當SELECT COUNT DISTINCT與ORDER BY和數學函數在MySQL 5.7.17
# c1 c2 v
1 1 'a'
1 2 'b'
1 1 'b'
1 2 'a'
我運行查詢:
SELECT
t01.c1,
t01.c2,
COUNT(DISTINCT v) AS cnt
FROM
(
SELECT
FLOOR(c1) AS c1,
FLOOR(c2) AS c2,
v
FROM
temp
) AS t01
GROUP BY
t01.c1,
t01.c2
ORDER BY
cnt DESC
這應該返回如下:
# c1, c2, cnt
1, 1, 2
1, 2, 2
但實際上它返回:
# c1, c2, cnt
1, 1, 1
1, 2, 1
1, 1, 1
1, 2, 1
這是奇怪的只是當它包含數學函數地板爲了通過組由計數明顯,結果是不正確 - 它不組的數據。
這是版本5.7.17中的MySQL錯誤嗎?
你的問題太長。請使用一個或兩個查詢來詢問您的問題。 –
它沒有'order by'工作。這很奇怪。 –
子查詢中的'Floor()'似乎100%多餘,而子查詢中不包含'GROUP BY v'。也許你得到的古怪結果是由於在你的子查詢中排除了這個組? – JNevill