SQL计数?不知道该怎么办

时间:2015-02-20 14:25:05

标签: sql count

基本上我有一个有accnt和代码的表。代码是4位数代码CAWE CPEE CWWE CBEW等。 每次访问accnt时,都会在其上留下代码。 因此帐户30040可以在该表中500次。 我试图找出如何拉出具有CBEW代码且只有1个访问条目的帐户。

请帮帮我:) 我是SQL的新手,所以请你好!

3 个答案:

答案 0 :(得分:3)

这应该按照你的要求进行

SELECT accnt FROM mytable
WHERE code = 'CBEW'
GROUP BY code
HAVING COUNT(code) = 1

答案 1 :(得分:1)

您可以使用group byhaving

select accnt
from table
group by accnt
having count(*) = 1 and max(code) = 'CBEW';

这会找到只有一行的帐户,并确保该行包含您要查找的代码。

答案 2 :(得分:0)

在我的脑海中,我想到了WITH子句。像这样的东西: (注意:我还没有检查过这段代码;但是应该有点正确)

WITH OnceAccessedAccounts AS (
    SELECT accnt, COUNT(*)
    FROM AccntCodeTable
    GROUP BY accnt
    HAVING COUNT(*) = 1
)
SELECT
    ACT.accnt
FROM
    AccntCodeTable ACT
WHERE
    (ACT.accnt IN (OnceAccessedAccounts.accnt))
    AND (ACT.Code = 'CBEW')