playfish05 2010-06-08 11:06
浏览 249
已采纳

关于mysql group by集合函数运用

目前的状况是这样,房地产的数据如此划分:

一个开发商有多个楼盘,一个楼盘有多个预售许可证。

所有官方公布的数据都是以预售许可证为主,我们自己显示给用户看都是楼盘。那我们需要对预售许可证的数据做集合。

数据包括:均价,总价,面积,目前可售套数等。这些数据每天都会更新变化。

我们提供一定时间段数据统计的功能,比如说一周以来总的成交金额,总的成交面积,这些我们可以很简单的通过group by用集合函数sum实现,但是目前可售套数这个数据就比较麻烦,因为这个套数需要取到当前最新的一条纪录,目前group by函数没有提供此类集合函数来实现,如何实现?

数据范例:

dataid avgprice totalmoney area availsale date 证号code
1 7000 900000 100 5 2010-6-4 121
2 7100 900000 100 3 2010-6-4 122
3 7300 900000 100 15 2010-6-4 123
4 7100 900000 100 31 2010-6-5 121
5 7100 900000 100 52 2010-6-5 122
6 7200 900000 100 8 2010-6-5 123

假设需要计算证号121两天的成交数据,
select sum(totalmoney) as tm, sum(area) as a from housedata group by code order by tm

这里就有个问题,可售套数,我需要选最新的,6月5日的数据作为最后的值。。目前没有发现可用的集合函数。。求指点。。

  • 写回答

7条回答 默认 最新

  • 穿梭时间的光 2010-06-10 20:31
    关注

    1、首先取出每个code下的max(date)
    2、然后将每个code的max date 做为筛选条件,按code分组sum
    select sum(totalmoney) as tm, sum(area) from
    (
    select code,max(date) dt from housedata group by code
    )temp
    join housedata hd
    on hd.date=temp.dt
    group by code

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?