Возможно, я не понимаю вопрос, но разве это не сработает?
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)
возвращает NULL
если какой-либо и b равны. COUNT(a)
только подсчитывает значения NOT NULL
, поэтому таким образом вы должны считать только значения, которые не являются '-'
.
да он работал ... – user1056466
Я уверяю вас, что другой один медленнее, и это не сработает, если фермер имеет двуствольное имя .. – OGHaza
хорошо, если я хочу считать «-» во всех столбцы, как я это сделаю? adapter.SelectCommand = new SqlCommand ("select count (*) from try where DistrictName = '-' OR TownName = '-'", con), но это не работает должным образом – user1056466