美文网首页
2018-07-06 Sql Server实现加条件汇总查询

2018-07-06 Sql Server实现加条件汇总查询

作者: 冷清辉 | 来源:发表于2018-07-06 12:18 被阅读0次

大家都知道在Sql Server中,加条件查询必须要用到group by,而group by也有一个规则:“凡是在group by后面出现的字段,必须同时在select后面出现;凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面”

OK,先上我的数据库图

数据库

数据库一共6个字段,如果说Type = 1的时候,Amount字段就是有值的,就是为中奖的,反之 Type = 2 的时候,Amount 就是 null,就是没有中奖,称为“再来一次”
如何按时间汇总呢?OK,首先 确认字段,1.日期 2.中奖金额 3.中奖次数 4.再来一次次数

那我们如何把他们汇总查询到这个样子(如图)呢?

汇总

大家都知道,统计次数一般用到的聚合函数都是Count,没错,不加条件的时候我也是用Count,如图

没有时间限制查询方法

看看运行结果

无时间限制查询结果

一般结束这一步,基本上可以满足工作的要求了,但是如果客户要求  把每天日期结算的时间点改成 凌晨5点钟 ,ok,继续加条件查询

注:改成凌晨5点的意思就是:传统上来说,0点是更换日期的一天,所以我们可以多走几个小时,即 DATEADD(HOUR,-5,字段)

上面提到的聚合函数,用Count统计次数,好,我们现在试着用SUM


时间限制查询方法

大家可以看到,我们首先要声明两个变量,而且我们需要在聚合函数里面加上case判断,case大家可以查看一下百度

中奖金额是因为type = 2 的时候有null值,所以也需要加一个case判断

现在看看结果吧

限制时间查询

大家可以看到,与上图的结果有点不太一样,大家碰到这样加限制条件的查询,可以试用一下我这样的方法哦,谢谢大家的阅读

相关文章

网友评论

      本文标题:2018-07-06 Sql Server实现加条件汇总查询

      本文链接:https://www.haomeiwen.com/subject/qjmvuftx.html