是否COUNT(1) - COUNT(column_name)只返回空值的數量嗎?
COUNT(1) - COUNT(column_name) as total_nulls
只能從給定列返回空值的計數?
我覺得它確實但很想知道。謝謝
是否COUNT(1) - COUNT(column_name)只返回空值的數量嗎?
COUNT(1) - COUNT(column_name) as total_nulls
只能從給定列返回空值的計數?
我覺得它確實但很想知道。謝謝
是它。更合乎邏輯和易於閱讀的版本將是:
select count(*) from myTable where myColumn is null;
PS:此版本也將受益於現有的索引。
謝謝你給我一個明確的答案!即時查詢多列(每個表中最多40),並不想寫出其中X是空的,Y是空的,Z是NULL等... – luke
count(1)=count(*)--returns nulls
count(columnname)--won't return nulls
另一種可以做到這一點的方法是使用SUM。
select sum(case when MyColumn is null then 1 else 0 end)
你不是指'非空值'嗎? –
沒有。只需要空值。嘗試從列中獲取元數據。即MAX,MIN,AVG,COUNT,DISTINCT,NULL等...只是每列的數值 – luke
如果你想要空值,你應該嘗試'COUNT(*) - COUNT(column_name)',但現在你的問題是有點混淆你真正想要的東西。 –