sql语句包含子查询如何进行分组
发布时间:2010-05-24 21:29:55 文章来源:www.iduyao.cn 采编人员:星星草
sql语句包含子查询怎么进行分组
select date(orderTime) as '日期', count(*) as '总笔数',
(select count(*) from morder where orderTime between '2011-05-10' and '2011-05-20' and
payStatus=1 ) as '成功笔数',
(select count(*) from morder where orderTime between '2011-05-10' and '2011-05-20' and
payStatus=0) as '未支付笔数',
(select count(*) from morder where orderTime between '2011-05-10' and '2011-05-20' and
payStatus=3) as '冲正笔数',
(select sum(amount)*0.01 from morder where orderTime between '2011-05-10' and '2011-05-20'
and payStatus=1) as '成功总金额'
from morder where orderTime between '2011-05-10' and '2011-05-20' GROUP by date(orderTime)
这是我的sql语句
我想实现成这样的
日期 总笔数 成功笔数 未支付笔数 冲正笔数 成功总金额
5.10 33 0 33 0 1.1
5.11 45 2 40 3 3.2
总计 78 2 73 3 4.3
要实现这样的
怎么办
是mysql数据库
前面在http://topic.csdn.net/u/20110803/09/2de3cff4-2aaf-4264-a616-c8e946fed0b4.html?seed=759334189&r=74741972#r_74741972
中看到都说用case when 来
但是不知道怎么用
求解
------解决方案--------------------
SELECT DATE(orderTime) AS 日期, COUNT(*) AS 总笔数,
SUM(CASE WHEN payStatus=1 THEN 1 ELSE 0 END) AS 成功笔数,
SUM(CASE WHEN payStatus=0 THEN 1 ELSE 0 END) AS 未支付笔数,
SUM(CASE WHEN payStatus=3 THEN 1 ELSE 0 END) AS 冲正笔数,
SUM(CASE WHEN payStatus=1 THEN amount ELSE 0 END)*0.01 AS 成功总金额
FROM morder
WHERE orderTime BETWEEN '2011-05-10' AND '2011-05-20'
GROUP BY DATE(orderTime)
在MYSQL 5.1。32下测试没有问题
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
怎么建接口将sqlite数据导入sqlsever数据库中
如题 最好有简单的办法 因为表项比较多 使用datatable巨费时
------解决方案-----...
-
弄过FairCom公司c-tree数据库的 进 高分
第一次接触这个数据库
有经验的 说说 如何浏览到表 及 记录
用开发工具 vb delp...
-
火鸟Firebird数据库 Error Message:
UPDATA语句后 产生的
Error Message:
----------------------------------------
Unsucce...
-
数据库访问路径的问题
web中JSP页面,使用jsp:useBean 访问不到表,但是在useBean的那个类中测试过可以连接。
是不是web中访问,数据...
-
sqlite里的增减删等操作sql语句在哪能得到?
我想从sqlite数据库中得到一些已经删除的数据,光拿到db文件还不够。请问sqlite有没有专...
-
怎么查询一个表中最值和最值对应的时间
在表T1中
tag value date_time
"A" 5 "2011-02-04 11:12:52"
"A" 9 "2011-...
-
sqllite可以处理多大数据量?
有一份数据,数据量大概一千万到一千五百万行之间
要放进一个表里进行分析,听说sqllite很方便,不知道用它...
-
mongo SyntaxError
> SELECT * FROM things WHERE name="mongo";
Tue Dec 20 17:45:42 SyntaxError: missing ; before statement...
-
sqlite读取datetime类型报错
1 2011/1/23 12:32:12 2011/9/8 5:00:00 df 2
添加时间是手动选择的,数据库没报错,但读取却报字符...
-
哪个有PI OLEDB Provider的安装包通向一下啊(顶者有分)
急需PI OLEDB Provider的安装包,在线等
请各位多多帮忙啊,谢谢
------解决...