首页 > 解决方案 > SQL 语句唯一 ID,然后按唯一 ID 分组并计算不同的其他 ID 组

问题描述

我想进行一个查询,使唯一 ID 连接,然后按此唯一 ID 分组,然后按不同计算另一个字段。我得到了输出,但计数已关闭。我通过另一个来源进行了验证。

SELECT 
    CONCAT(x, y, z, a) AS 'uniqueid',
    COUNT(DISTINCT id) AS 'count'
FROM bv
GROUP BY
    x, y, z, a

标签: sql

解决方案


您需要对SELECT列表中的相同非聚合字段(或本例中的复合字段)进行分组。您应该能够使用下面的查询来获取您要查找的内容:

SELECT 
    CONCAT(x,y,z,a) AS 'uniqueid' 
    ,COUNT(DISTINCT id) AS 'count'
FROM bv
GROUP BY CONCAT(x,y,z,a)

推荐阅读