![](/img/trans.png)
[英]In SQL, how do I get the row with the maximum value for a particular column?
[英]how to get the count of the column value of a particular row?
我有一張桌子。
如何獲取特定行中值為“M”的列值的計數?
例如:如果我給出條件,其中shape_name ='Rectangle',它將返回值為''M'的列的計數。 結果:計數為2
如果是真L左=>結果:計數是4如何得到答案。? 請幫助我解決它。
CASE WHEN的解決方案是這樣的:
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
只需將SQL調整為表結構 - 您需要為每列找到更多CASE WHEN
語句
非常古老的解決方案 - 獲取所有列,遍歷所有列,並計算M
出現次數。
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' ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.