我对一个棘手的查询有疑问。
所以,我有一张这样的桌子:
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 或其他数据库,所以我不能使用任何花哨的技巧。