使用Mysql表中的计数报告

使用Mysql表中的计数报告,mysql,sql,count,Mysql,Sql,Count,我有一个Mysql表,其中包含以下字段 账单日期、账单编号、项目、税费、总计。 我想生成一个包含字段的报告 账单日期、账单编号、应税项目(计数)、非应税项目(计数)介于到日期之间。 我尝试这样的查询 按票据编号从票据组中选择票据编号、票据日期、计数(税=0)、计数(税>0)。查询返回错误的值。请帮帮我 SELECT bill_no, bill_date, SUM(IF(tax=0, 1, 0)) AS nonTaxableItems, SUM(IF(tax>0, 1, 0

我有一个Mysql表,其中包含以下字段

账单日期、账单编号、项目、税费、总计。
我想生成一个包含字段的报告

账单日期、账单编号、应税项目(计数)、非应税项目(计数)
介于到日期之间。 我尝试这样的查询

按票据编号从票据组中选择票据编号、票据日期、计数(税=0)、计数(税>0)
。查询返回错误的值。请帮帮我

SELECT bill_no, bill_date, 
    SUM(IF(tax=0, 1, 0)) AS nonTaxableItems,
    SUM(IF(tax>0, 1, 0)) AS taxableItems,
    FROM bill 
    WHERE bill_date BETWEEN '2013-01-01' AND '2013-12-31'
    GROUP BY bill_no
如果在名为count的列中存储了项数,则查询将变为:

SELECT bill_no, bill_date, 
    SUM(IF(tax=0, count, 0)) AS nonTaxableItems,
    SUM(IF(tax>0, count, 0)) AS taxableItems,
    FROM bill 
    WHERE bill_date BETWEEN '2013-01-01' AND '2013-12-31'
    GROUP BY bill_no

谢谢你,朋友,它起作用了。但我忘了再提一个领域。是伯爵。如果有人购买了一件以上的物品,查询将失败。请使用count更新查询。另外,请澄清金额(如果(税=0,1,0))对我来说是新的。看起来像是我的救命稻草。如果(税=0,1,0)将在税=0时返回1,否则返回0。然后我对所有行求和,得到tax=0的行总数。我不明白你还需要计算什么,你能举个例子吗?如果客户购买一件商品超过一(2)个,查询就可以了,查询将失败。请参见表格结构。账单编号-整数(11),项目名称-varchar(50),税率-小数(10,2),税率-小数(10,2),价格-小数(10,2),计数-小数(10,2),账单日期-日期时间感谢朋友,它正在工作。也谢谢你的解释。