mysql 做统计时用到的语句

背景:项目中需要统计相同 搜索类型和搜索条件 下昨天与前天的搜索次数差异在页面显示(表中数据保存的维度是每天,页面展示的是所有),故需要用到双分组group by两个字段。

以下是相应的mysql代码,已测试是OK的。

SELECT
    search_condition,
    search_condition_md5,
    search_type,
    MAX(visit_time) AS visit_time,
    MAX(log_id) AS log_id,
    SUM(visit_count) AS visit_count,
    MAX(IF(visit_date=20131106,visit_count,0))-MAX(IF(visit_date=20131105,visit_count,0)) AS change_goods_count
FROM
    ecm_absearch_log
WHERE
    log_id > 0
GROUP BY 
    search_condition_md5,search_type

备注:主要是按照 搜索条件和搜索类型 两个标识进行分组,然后按组处理。其中if的应用主要是判断存储据维度的日期,是否是昨天或者前天。是昨天的将数据作为昨天访问量,不是的记为0,同理处理前天的信息。这样,就可以保证在组中取最大的昨天数据量对应的就是昨天的数据量。最后相减运算就可以获得需要的信息!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值