2014-09-23 52 views
1

嗨,我在SQL的新手,這是我的問題:我有這個表:計數重複記錄不同的列名

rhp1 ---- ---- rhp2 --- rhp3 -rhp4 --- rhp5 .....

51 ------- 32 ------ 61 ------ 54 ----- 32 ....

21 ------- 95 ------ 125 ----- 25 ----- 45 ...

65 ------- 58 ---- --- 58 ----- 69 ----- 25 ...

我想統計這個表中重複的每個字段值多少!例如:51第一場,我們有多少51在此表和....

與此查詢我可以在一列中得到這樣的:

select rhp , count(1) as count_rhp from tbl_all 
group by rhp 
order by count_rhp Desc 

我如何能做到這一點的整桌子?

+2

你的問題不是很清楚。你能告訴我們你想要的輸出嗎? – Andrew 2014-09-23 15:13:24

+0

rhp1/rhp2/rhp3/etc有什麼區別嗎?我認爲這個問題很難回答的原因是因爲他們真的不應該是第一個不同的專欄。 – Erik 2014-09-23 15:20:11

+0

不,他們是一樣的!我爲他們放1,2,3,4的共振是我不能在sql中爲不同的列放置相同的rhp名稱。它是一個有7個rhp的數據集,我想要統計整個數據集中有多少個字段值被重複。 – 2014-09-23 15:27:31

回答

5

聯盟中的所有列進一個,然後按組和計數:

with tbl_all (rhp) as 
(
select rhp1 from tbl union all 
select rhp2 from tbl union all 
select rhp3 from tbl union all 
select rhp4 from tbl union all 
select rhp5 from tbl 
) 
select rhp , count(1) as count_rhp 
from tbl_all 
group by rhp 
order by count_rhp Desc 
+0

這是最好的答案... – 2014-09-23 15:37:42

+0

thankssssss它的工作很好^ _ ^我得到了我的答案謝謝 – 2014-09-23 15:45:14

+0

@meysammotamedi,一定要檢查標記下的投票標記爲答案。 – paqogomez 2014-09-23 15:55:54