博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一条SQL语句中算日销售额和月销售额
阅读量:6813 次
发布时间:2019-06-26

本文共 1139 字,大约阅读时间需要 3 分钟。

 

刚刚做项目的时候用到的

用户表:用户ID,用户名,余额

流水表:时间,用户ID,用户名,类型(0充值,1消费),变更金额

现在要查每个用户的日销售额和月销售额,本来最简单的方法是先把所有用户查出来,然后再c#代码中for循环中再select sum(changemoney) from liushui where userid=? 的

现在想试试看一个SQL语句 就查出来,经搜索得到如下 SQL语句:

 

WITH DailySales AS(	select [user].id,[user].username,[user].balance,	case		when sum([liushui].changemoney) is NULL then 0		else sum([liushui].changemoney)	end as ri_xse 	from [user]	left join [liushui] on [user].id=[liushui].userid and [liushui].type=1 and [liushui].createtime between '2017-07-11 00:00:00' and '2017-07-11 23:59:59' 	group by [user].id,[user].username,[user].balance),MonthSales AS(	select [user].id,[user].username,[user].balance,	case		when sum([liushui].changemoney) is NULL then 0		else sum([liushui].changemoney)	end as yue_xse 	from [user]	left join [liushui] on [user].id=[liushui].userid and [liushui].type=1 and [liushui].createtime between '2017-07-01 00:00:00' and '2017-07-31 23:59:59' 	group by [user].id,[user].username,[user].balance) select d.id,d.username,d.balance,d.ri_xse,m.yue_xse from DailySales D inner join MonthSales M on D.id = M.id

结果如下图:

查出来了,网友建议最好流水表分表,如一月一表,要不然的话以后流水表会很大很大很大。。。

先这么弄着先吧。。

转载地址:http://jjkzl.baihongyu.com/

你可能感兴趣的文章
网管工作是否值得做下去?
查看>>
神行者PD10-adb push逃脱ro权限
查看>>
Oracle PL/SQL 学习笔记
查看>>
JPA(四)之实体关系一对一
查看>>
如何使用羊驼自动生成缩略图的功能。
查看>>
定制化Azure站点Java运行环境(1)
查看>>
inotify用法简介及结合rsync实现主机间的文件实时同步
查看>>
Docker学习笔记之存储篇
查看>>
Python 获取CentOS7的内存使用率并写入mysql
查看>>
IIS:错误处理
查看>>
php 判断手机登陆
查看>>
git 问题
查看>>
Fedora18设置终端快捷键 和 桌面快捷方式
查看>>
取消NavigationBar左右两边的空隙
查看>>
Ubuntu 12.04 Gedit中文乱码解决办法
查看>>
修改symfony sfDoctrineGuardPlugin验证密码的方法
查看>>
Vbird的Linux私房菜学习笔记之正则表达式-特殊字符
查看>>
数据的作用域
查看>>
js中括号用于自执行测试
查看>>
svn迁移至git
查看>>