1.sum与if结合使用 如图:数据表中,count_money 字段可为正,可为负。为正表示收入,负表示支出。 统计总收入,总支出。 select sum(if(count_money > 0, count_money, 0)) as sum_receipt, sum ...
先来一个简单的sum select sum qty as total qty from inventory product group by product id 这样就会统计出所有product的qty. 但是很不幸,我们的系统里面居然有qty为负值。而我只想统计那些正值的qty,加上if function就可以了。 SQL为: select sum if qty gt , qty, as to ...
2017-06-22 14:54 0 11851 推荐指数:
1.sum与if结合使用 如图:数据表中,count_money 字段可为正,可为负。为正表示收入,负表示支出。 统计总收入,总支出。 select sum(if(count_money > 0, count_money, 0)) as sum_receipt, sum ...
在我们使用数据库的时候,可能会遇到需要进行统计的情况。 比如需要统计一下,下表中各个年份的胜负场数。 遇到这样的情况,我们应该怎么办呢? 在mysql中我们可以使用group by sum case when 来解决这个问题,sql语句如下: select date_year ...
SELECT c.LSMC,b.wtj,b.dbl,b.th,b.ysh,b.ysa,b.yla FROM(SELECT SQRSFZ,SUM(CASE clzt WHEN 0 THEN 1 ELSE 0 END) AS wtj,SUM(CASE clzt WHEN ...
2.案例2 ...
今天一个朋友突然给我发过来一个sql语句,一下子问住我了。 我想,这种语法木有见过呀。我就查了查,才明白什么意思,原来是mysql里面的用法。 SUM(IF(`hosts`.state = 0, 1, 0)) AS hostNomal ,这个语句,当hosts.state的值为0时,和加 ...
最近在公司做项目,涉及到开发统计报表相关的任务,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,后来经过老大的指点利用sum,case...when...重写SQL性能一下子提高到一秒钟就解决了。这里为了简洁明了的阐述问题和解决的方法,我简化一下需求模型。 现在 ...
最近在做项目,涉及到开发统计报表相关的任务,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,后来经过老大的指点利用sum,case...when...重写SQL性能一下子提高到一秒钟就解决了。这里为了简洁明了的阐述问题和解决的方法,我简化一下需求模型。 现在 ...
前言:遇到这样一个需求,有一门成绩,成绩中只记录了学生的分数,现在需要统计学生的分数等级,100-90分为优秀,90-60分为及格,60-0分为不及格。这个需求就可以用CASE语句来表达。 case语句分为简单case语句和可搜索case语句。 1.简单case的语法为 CASE ...