如何获取列和最大值列
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;
我正在尝试使用以下查询获取具有 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;