(急) 这样的统计怎样写sql?
有两个字段 OrderDate(日期时间型), Qty(数值型)
我需要统计每天的Qty总数.
如原记录
OrderDate Qty
==============================
2005-5-1 10:30:25 30
2005-5-1 12:38:05 60
2005-5-2 16:23:16 20
2005-5-2 19:33:46 50
想得到的结果
OrderDate Qty
==============================
2005-5-1 90
2005-5-2 70
前提我不能修改数据表的结构.
问题点数:50、回复次数:11Top
1 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-06-03 09:09:22 得分 50
select DATE_FORMAT(OrderDate ,'%Y-%c-%e') as dd , sum(Qty) from yourtable group by dd;Top
2 楼foxbuilder(狐思乱想)回复于 2005-06-03 09:30:19 得分 0
楼上的,你试过了吗? 这样做不行呢,会出现下面的错误. Group by 后面好像一定要跟一个字段.
Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
Top
3 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-06-03 09:44:14 得分 0
因为身边没有机器,所以不好测试.
这个你再试试,需要mysql4.1以上,支持子查询的
select DATE_FORMAT(OrderDate ,'%Y-%c-%e') as dd ,sum(Qty) from yourtable where dd in (select DATE_FORMAT(OrderDate ,'%Y-%c-%e') from yourtable);Top
4 楼foxbuilder(狐思乱想)回复于 2005-06-03 10:07:55 得分 0
楼上的,也不行啦,错误:
Unknown column 'dd' in 'scalar IN/ALL/ANY subquery'
Top
5 楼foxbuilder(狐思乱想)回复于 2005-06-03 10:08:44 得分 0
我的版本已经是ver 4.1.7 了Top
6 楼trainee(春泥)回复于 2005-06-03 11:06:43 得分 0
我的版本4.1.5都可以,为什么你的不行Top
7 楼foxbuilder(狐思乱想)回复于 2005-06-03 11:21:34 得分 0
to: trainee(春泥)
Top
8 楼foxbuilder(狐思乱想)回复于 2005-06-03 11:22:27 得分 0
to: trainee(春泥)
你说的这段代码可以吗?
select DATE_FORMAT(OrderDate ,'%Y-%c-%e') as dd ,sum(Qty) from yourtable where dd in (select DATE_FORMAT(OrderDate ,'%Y-%c-%e') from yourtable);
Top
9 楼foxbuilder(狐思乱想)回复于 2005-06-03 14:27:33 得分 0
找到方法了. 应该这样
select DATE_FORMAT(OrderDate ,'%Y-%c-%e') as dd ,sum(Qty) from yourtable
group by DATE_FORMAT(OrderDate ,'%Y-%c-%e')
Top
10 楼haohaohao1(你好 我好 大家好)回复于 2005-06-03 17:51:35 得分 0
呵呵 恭喜问题解决Top
11 楼Mybeautiful(天之痕)回复于 2005-06-03 18:14:01 得分 0
MarkTop




