【发布时间】:2013-05-06 14:41:05
【问题描述】:
我遇到了一个棘手的查询问题。
所以,我有一张这样的桌子:
CREATE TABLE correlations
(
key1 integer not null,
key2 integer not null,
)
从那里我需要选择key1 的列表,它们对应于 key2 的最大数量。也就是说,它应该返回key1 = 1 和key2 = 2,因为两者都有2次,这意味着在所有这些中“2”是最大的数字。
这里的问题是它必须返回许多key1 字段。如果它只是一个,那将是小菜一碟。
那么,我现在拥有的:
SELECT key1, count(key2) AS ccc
FROM correlations
GROUP BY key1
HAVING ccc = MAX(ccc)
当然它不起作用......因为这不是你使用MAX的方式。
如何修改此查询以使其按预期工作?
这是用于 SQLite,而不是 MySQL 或其他数据库,所以我不能使用任何花哨的技巧。
【问题讨论】:
标签: sql sqlite count max having