小编gua*_*ang的帖子

当MySQL 5.7.17中的order by和math函数选择count时,结果不正确

我有一个简单的表,以temp三列和以下数据命名:

# c1  c2  v
  1   1  'a'
  1   2  'b'
  1   1  'b'
  1   2  'a'
Run Code Online (Sandbox Code Playgroud)

我运行查询:

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
Run Code Online (Sandbox Code Playgroud)

这应该返回以下内容:

# c1, c2, cnt
   1,  1,  2
   1,  2,  2
Run Code Online (Sandbox Code Playgroud)

但实际上它会返回:

# c1, c2, cnt
   1,  1,  1
   1,  2,  1
   1,  1,  1
   1,  2,  1
Run Code Online (Sandbox Code Playgroud)

这很奇怪,当它包含按 …

mysql group-by distinct

15
推荐指数
2
解决办法
480
查看次数

标签 统计

distinct ×1

group-by ×1

mysql ×1