[英]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.