mysql实现多表关联统计(⼦查询统计)⽰例
本⽂实例讲述了mysql实现多表关联统计的⽅法。分享给⼤家供⼤家参考,具体如下:
需求:
统计每本书打赏⾦额,不同时间的充值数据统计,消费统计,
设计四个表,book 书本表,orders 订单表  reward_log打赏表  consume_log 消费表,通过book_id与book表关联,
问题:
当关联超过两张表时导致统计时数据重复,只好⽤⼦查询查出来,⼦查询只能查⼀个字段,这⾥⽤CONCAT_WS函数将多个字段其拼接
实现:
查询代码如下
SELECT
b.id,
it职业技术学校
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,
java入门编程哪家性价比高
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,
(
mavendeploy详解
SELECT
帝国cms插件下载
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
python编程入门实例
GROUP BY
b.id
查询结果
mysql语句多表查询
score 为三个消费数,以逗号隔开
性能分析
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家MySQL数据库计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。