专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他数据库

求一分类汇总SQL语句(MY SQL数据库),该如何处理

发布时间:2010-05-24 21:31:14 文章来源:www.iduyao.cn 采编人员:星星草
求一分类汇总SQL语句(MY SQL数据库)
表名:Table_S,主关键字:ID,数据假设如下:

ID     date       region     category       -----cost     volume     -----value     review
1     2011/10/24     湖南         香蕉             700       400           900         31
2     2011/10/25     湖南         香蕉             700       400           900         25
3     2011/10/26     湖南         香蕉             700       400           900         36
4     2011/10/27     湖南         香蕉             700       400           900         25
5     2011/10/28     湖南         香蕉             700       400           900         50
6     2011/10/29     湖南         香蕉             700       400           900         23
7     2011/10/30     湖南         香蕉             700       400           900         37
8     2011/10/31     河北         梨子             800       300           600         40

我想一次实现以下结果,按region,category分类汇总,求cost,volume,value的周平均,取review各周最后一天的值(数据库中,每个区域下的种类,一天最多只有一条记录,如湖南香蕉每天一条记录)。以上述数据为例,汇总后湖南,香蕉的结果如下:
week_num     region     category     avg(cost)     avg(volume)         avg(value)     review
43         湖南         香蕉             700             400           900             37

我只会求平均值,如下:
select   date_format(date, '%x-%v ')   as   week_num,region,category,avg(cost),avg(volume),avg(value)   from   Talbe_s   group   by   week_num,region,category;

怎么样可以把review各周最后一天的值放进去,各位帮帮忙啊,谢谢了。



------解决方案--------------------
先把前面的值汇总出来 然后做个临时表去取每周最后一天的值 将这两个表join起来
------解决方案--------------------
select date_format(date, '%x-%v ') as week_num,region,category,avg(cost),avg(volume),avg(value),(select review from Talbe_s where category=s.category order by date desc limit 1 ) from Talbe_s s group by week_num,region,category; 

基本这个思路,其它的条件自己再加一下,比如时间,REGION之类的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: