在mysql中实现多表关联统计
可以通过子查询来实现
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,
(SELECTCONCAT_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 ) ))FROMbook_consume_logWHEREbook_id = b.id) scoreFROMbook_book bLEFT JOIN book_orders o ON b.id = o.bid
GROUP BYb.id
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
