我有这个SQL选择
SELECT t.debtor_account, COUNT(t.debtor_account)
FROM transaction t
GROUP BY t.debtor_account
HAVING COUNT(t.debtor_account) > 2;
哪些工作,但我需要从事务中选择所有。但当我尝试从……中选择*时。。。。。。我得到这个错误:列";t.account_fk";必须出现在GROUP BY子句中或在聚合函数中使用对于具有相同功能的select,但使用select all而不仅仅是debtor_account,有什么想法吗?谢谢
Btw。此处为表格方案
您可以使用窗口函数:
SELECT t.*
FROM (SELECT t.*, COUNT(*) OVER (PARTITION BY t.debtor_account) as cnt
FROM transaction t
) t
WHERE cnt > 2
ORDER BY debtor_account;
您似乎想要窗口函数:
SELECT *
FROM (
SELECT t.*, COUNT(*) OVER(PARTITION BY debtor_account) cnt
FROM transaction t
) t
WHERE cnt > 2