总数没有。按年份刷新后的真行

时间:2013-01-16 14:11:58

标签: c# sql database sql-server-2008

我正在研究一个c#项目,因为我已经提出了这个查询

SELECT COUNT(customer_column) 
FROM   table2 
WHERE  Datepart(mm, record_column) = @myMonthSelected 
AND    Datepart(yy, record_column) = @myYearSelected 

它计算排序后的总行数,现在我希望它修改一个具有“位”数据类型的列,我想通过按年份和年份排序来计算真实行的总数以上查询。可以缩小搜索范围吗?

2 个答案:

答案 0 :(得分:3)

试试这个

SELECT COUNT(customer_column) 
FROM   table2 
WHERE  Datepart(mm, record_column) = @myMonthSelected 
AND    Datepart(yy, record_column) = @myYearSelected
AND BitColumn = 1

答案 1 :(得分:0)

我使用旧的“总和位”技巧。像这样:

SELECT SUM(someBitColumn) AS TotalCount
FROM someTable

因为我在这里,这里有一个计算事物类型的变体:

SELECT
  SUM(
    CASE WHEN animalKind = 'Dog' THEN 1
      ELSE 0
    END CASE
  ) AS DogCount,
  SUM(
    CASE WHEN animalKind = 'Cat' THEN 1
      ELSE 0
    END CASE
  ) AS CatCount,
  ...
 FROM animals