2013-07-03 50 views
1

我有一張桌子在下面。如何獲取特定行的列值的計數?

enter image description here

如何獲得列值,其值是「M」在一個特定的行數?例如:如果我給出條件,其中shape_name ='Rectangle',它將返回值爲'M'的列的計數。結果:計數爲2

如果爲真L左=>結果:計數爲4 如何得到答案。 PLZ幫助我解決它。

回答

4

與CASE解決方案時是這樣的:

SELECT shape_name, 
     CASE WHEN a = 'm' THEN 1 ELSE 0 END + 
     CASE WHEN b = 'm' THEN 1 ELSE 0 END + 
     CASE WHEN c = 'm' THEN 1 ELSE 0 END as mcount 
    FROM t1 

SQLFiddle

只是調整SQL到你的表結構 - 你需要找到更多CASE WHEN語句爲每列

+0

謝謝@CrowbarKZ –

0

非常古老的解決方案 - 獲取所有列,重複遍歷所有列,並計算出現次數爲M

+1

部分代碼可能有用 – MaVRoSCy

0
select SHAPE_NAME , 
      DECODE(COLUMN_NAME1,'M',1,0)+ 
      DECODE(COLUMN_NAME2,'M',1,0)+ 
      DECODE(COLUMN_NAME3,'M',1,0)+ 
      DECODE(COLUMN_NAME4,'M',1,0) your_count 
from YOUR_TABLE where shape_name='Rectangle' ; 
相關問題