mysql实现多表关联统计(子查询统计)示例

作者:flysnownet 时间:2024-01-19 18:53:26 

本文实例讲述了mysql实现多表关联统计的方法。分享给大家供大家参考,具体如下:

需求:

统计每本书打赏金额,不同时间的充值数据统计,消费统计,

设计四个表,book 书本表,orders 订单表  reward_log打赏表   consume_log 消费表 ,通过book_id与book表关联,

mysql实现多表关联统计(子查询统计)示例

问题:

当关联超过两张表时导致统计时数据重复,只好用子查询查出来,子查询只能查一个字段,这里用CONCAT_WS函数将多个字段其拼接

实现:

查询代码如下


SELECT
b.id,
b.book_name,
sum( IF ( o.create_time > 0 && o.create_time < 9999999999, o.price, 0 ) ) today_pay_money,
sum( IF ( o.create_time > 0 && o.create_time < 9999999999, 1, 0 ) ) today_pay_num,
sum( IF ( o.create_time > 999 && o.create_time < 9999, o.price, 0 ) ) yesterday_pay_money,
sum( IF ( o.create_time > 999 && o.create_time < 9999, 1, 0 ) ) yesterday_pay_num,
sum(o.price) total_pay_money,
sum( IF ( o.create_time > 9999 && o.create_time < 99999, 1, 0 ) ) total_pay_num,
( SELECT SUM( total_score ) FROM book_reward_log WHERE book_id = b.id ) total_score,
(
SELECT
CONCAT_WS(
 ',',
 SUM( IF ( create_time > 0 && create_time < 998, score, 0 ) ),
 SUM( IF ( create_time > 9999 && create_time < 99998, score, 0 ) ),
 SUM( IF ( create_time > 99999 && create_time < 999998, score, 0 ) )
)
FROM
book_consume_log
WHERE
book_id = b.id
) score
FROM
book_book b
LEFT JOIN book_orders o ON b.id = o.bid
GROUP BY
b.id

查询结果

mysql实现多表关联统计(子查询统计)示例

score 为三个消费数,以逗号隔开

性能分析

mysql实现多表关联统计(子查询统计)示例

希望本文所述对大家MySQL数据库计有所帮助。

来源:https://blog.csdn.net/flysnownet/article/details/90067875

标签:mysql,多表关联统计,子查询统计
0
投稿

猜你喜欢

  • Python数据分析之双色球统计单个红和蓝球哪个比例高的方法

    2022-08-13 07:55:01
  • python中fastapi设置查询参数可选或必选

    2021-11-04 12:25:18
  • CSS content, counter-increment 和 counter-reset详解[译]

    2009-06-02 12:51:00
  • asp base64加解密函数代码

    2011-03-31 11:02:00
  • perl中的范围声明our-my-local介绍

    2022-12-15 02:21:50
  • Python操作列表的常用方法分享

    2021-06-02 12:41:29
  • python关于excel多个sheet的导入导出方式

    2021-03-15 04:40:19
  • DOS命令行窗口mysql中文显示乱码问题解决方法

    2024-01-26 13:53:44
  • 对python抓取需要登录网站数据的方法详解

    2023-01-18 04:58:41
  • js树插件zTree获取所有选中节点数据的方法

    2024-05-02 16:20:55
  • pytest官方文档解读fixtures的autouse

    2023-06-22 01:18:58
  • SQL实战演练之网上商城数据库用户信息数据操作

    2024-01-15 10:26:39
  • 使用keras做SQL注入攻击的判断(实例讲解)

    2024-01-25 12:40:36
  • 用一个案例讲解SQL Server数据库恢复

    2008-11-28 14:17:00
  • WEB2.0网页制作标准教程(10)自适应高度

    2008-02-19 19:21:00
  • Python实现的微信好友数据分析功能示例

    2023-09-18 06:00:21
  • 对json字符串与python字符串的不同之处详解

    2023-11-22 04:35:39
  • Mysql数据库监听binlog的开启步骤

    2024-01-26 03:50:36
  • Python phone模块获取手机号归属地 区号 运营商等信息demo

    2023-10-09 10:36:08
  • Go语言编程中字符串切割方法小结

    2023-06-16 01:41:24
  • asp之家 网络编程 m.aspxhome.com