如何获取列和最大值列

How to get the column and max value column

我正在尝试使用以下查询获取具有 MaxCount 的系统列

SELECT
    MAX(x.MaxCount) AS MostCommon 
FROM
    (SELECT
         SYSTEM, COUNT(*) MaxCount 
     FROM 
         test
     WHERE
         DESCRIPTION = 1 AND DESCRIPTION IS NOT NULL
     GROUP BY
         SYSTEM) x

但它 returns 仅 MostCommon 列。

如果您的数据库支持,ROW_NUMBER 是这里的一个选项:

SELECT SYSTEM, cnt AS MaxCount
FROM
(
    SELECT SYSTEM, COUNT(*) AS cnt, ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) rn
    FROM test
    WHERE DESCRIPTION = 1
    GROUP BY SYSTEM
) t
WHERE rn = 1;

特定于 SQL 服务器:

SELECT TOP 1 SYSTEM, COUNT(*) AS MaxCount   -- or TOP 1 WITH TIES for all tied systems
FROM test
WHERR DESCRIPTION = 1
GROUP BY SYSTEM
ORDER BY COUNT(*) DESC;