2015-10-09 44 views
0

我的表是如何在節數char數據類型的列行數

date  value  name 
may02  22   s1 
may03     s1 
may04  34   s2 
may05  35   s2 
may06     s3 
may07  12   s3 
may08  22   s3 

值是CHAR數據類型 我的查詢是

select count(*) as count_value from my_table group by name; 

正在逐漸

name  count_value 
s1   2 
s2   2 
s3   3 

但我需要

name  count_value 
s1   1 
s2   2 
s3   2 

空行應該被淘汰,plz幫助我

回答

1

我想這應該做的伎倆:

select name, count(*) as count_value from my_table where length(value) > 0 group by name; 

這裏有一個fiddle樣品。

條件也可以爲空值

value is not null 

,或者如果你有,我不知道...空間?在值列,像

length(trim(value)) > 0 
+0

感謝@avi,一個更多的幫助plzz ..如果我有什麼名稱是S4和所有的值都爲空,那麼結果應該是「0」。我們怎樣才能 – suri5913

+0

在S4即空沒有值,那麼答案應該是「0」 – suri5913

+0

@ suri5913檢查這個其他搗鼓這種情況下:http://sqlfiddle.com/#!9/36224/5 – avi

相關問題