簡體   English   中英

如何在Have子句下進行多次計數

[英]how do I make multiple count under having clause

一些樣本數據:

Id    name    value    ref
1     ab      xy
2     aba     z
3     ab      xy
4     abc     def
5     gxr     mdy

我想做的是使出現兩次以上的兩列,以便選擇第1行和第3行。

select name, value from table_x 
where value is not null group by name having count(name) >= 2 
and having count(value) >= 2;

卡住了.....

如果只關心查找出現多次的不同名稱/值對,則@vkp的答案是正確的。 但是,如果您實際上希望滿足條件的各個行,請嘗試以下操作:

SELECT  t1.Name, t1.[Value]
FROM    Table_X t1
JOIN
(
    SELECT  Name, [Value]
    FROM    Table_X
    where   [Value] IS NOT NULL
    GROUP   BY Name, [Value]
    HAVING  COUNT(1) >= 2
) t2 ON t1.Name = t2.Name AND t1.[Value] = t2.[Value]

您的語法不正確。 group by名稱和值group by然后檢查計數> = 2。

select name, value 
from table_x 
where value is not null 
group by name, value 
having count(*) >= 2;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM