1

列内の Farmers の総数をカウントしたいが、クエリで "-" を避けたい

列はどうすればそれを行うことができますか。Null値の代わりに、テーブルには「-」があります。

adapter.SelectCommand = new SqlCommand("SELECT COUNT(FarmerName) AS 
Total_Number_Of_Farmers FROM try", con);
4

2 に答える 2

3

質問を誤解しているかもしれませんが、これはうまくいきませんか?

SELECT COUNT(FarmerName) AS Total_Number_Of_Farmers 
FROM try
WHERE FarmerName <> '-'

また

adapter.SelectCommand = new SqlCommand("SELECT COUNT(FarmerName) AS Total_Number_Of_Farmers FROM try WHERE FarmerName <> '-'", con);

一度に複数の列に対してそれを行う必要がある場合 (コメントで要求されているように)、次のように動作するはずです。

SELECT COUNT(DISTINCT(NULLIF(DistrictName,'-'))) AS Unique_DistrictNames 
    ,COUNT(DISTINCT(NULLIF(TownName,'-'))) AS Unique_TownNames 
FROM try

NULLIF(a, b)NULLa と b が等しい場合に返します。COUNT(a)である値のみをカウントするNOT NULLため、この方法では、ではない値のみをカウントする必要があります'-'

于 2013-11-15T09:57:49.553 に答える