欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql實(shí)現(xiàn)多表關(guān)聯(lián)統(tǒng)計(jì)(子查詢統(tǒng)計(jì))示例

 更新時(shí)間:2019年10月10日 10:20:31   作者:flysnownet  
這篇文章主要介紹了mysql實(shí)現(xiàn)多表關(guān)聯(lián)統(tǒng)計(jì)(子查詢統(tǒng)計(jì)),結(jié)合具體案例形式分析了mysql多表關(guān)聯(lián)統(tǒng)計(jì)的原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了mysql實(shí)現(xiàn)多表關(guān)聯(lián)統(tǒng)計(jì)的方法。分享給大家供大家參考,具體如下:

需求:

統(tǒng)計(jì)每本書打賞金額,不同時(shí)間的充值數(shù)據(jù)統(tǒng)計(jì),消費(fèi)統(tǒng)計(jì),

設(shè)計(jì)四個(gè)表,book 書本表,orders 訂單表  reward_log打賞表   consume_log 消費(fèi)表 ,通過book_id與book表關(guān)聯(lián),

問題:

當(dāng)關(guān)聯(lián)超過兩張表時(shí)導(dǎo)致統(tǒng)計(jì)時(shí)數(shù)據(jù)重復(fù),只好用子查詢查出來,子查詢只能查一個(gè)字段,這里用CONCAT_WS函數(shù)將多個(gè)字段其拼接

實(shí)現(xiàn):

查詢代碼如下

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

查詢結(jié)果

score 為三個(gè)消費(fèi)數(shù),以逗號(hào)隔開

性能分析

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫計(jì)有所幫助。

相關(guān)文章

  • SELinux導(dǎo)致PHP連接MySQL異常Can''t connect to MySQL server的解決方法

    SELinux導(dǎo)致PHP連接MySQL異常Can''t connect to MySQL server的解決方法

    這篇文章主要介紹了SELinux導(dǎo)致PHP連接MySQL異常Can't connect to MySQL server的解決方法,有2種,一是設(shè)置允許,二是關(guān)閉SELinux,需要的朋友可以參考下
    2014-07-07
  • 詳解MySQL如何避免克隆失敗后再次初始化

    詳解MySQL如何避免克隆失敗后再次初始化

    本文章討論了當(dāng)您沒有足夠的磁盤空間來存儲(chǔ)兩個(gè)數(shù)據(jù)集時(shí),使用帶有安全選項(xiàng)DATA DIRECTORY 的 CLONE INSTANCE 命令,所以接下來小編給大家詳細(xì)的介紹一下,MySQL如何避免克隆失敗后再次初始化,需要的朋友可以參考下
    2023-10-10
  • mysql中l(wèi)ower_case_table_names=1參數(shù)的作用

    mysql中l(wèi)ower_case_table_names=1參數(shù)的作用

    lower_case_table_names是MySQL數(shù)據(jù)庫中的一個(gè)系統(tǒng)變量,本文主要介紹了mysql中l(wèi)ower_case_table_names=1參數(shù)的作用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • mysql從5.7平滑升級(jí)到8.0.27的實(shí)現(xiàn)

    mysql從5.7平滑升級(jí)到8.0.27的實(shí)現(xiàn)

    mysql8.0已經(jīng)到了穩(wěn)定期,本文主要介紹了mysql從5.7平滑升級(jí)到8.0.27的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • Mysql DDL常見操作匯總

    Mysql DDL常見操作匯總

    這篇文章主要介紹了Mysql DDL常見操作匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • MySQL中修改表結(jié)構(gòu)時(shí)需要注意的一些地方

    MySQL中修改表結(jié)構(gòu)時(shí)需要注意的一些地方

    這篇文章主要介紹了MySQL中修改表結(jié)構(gòu)時(shí)需要注意的一些地方,作者援引Percona的相關(guān)的說明來講述如何避免相關(guān)操作導(dǎo)致表無法使用的問題,一些需要的朋友可以參考下
    2015-06-06
  • JDBC如何連接mysql

    JDBC如何連接mysql

    這篇文章主要介紹了JDBC如何連接mysql問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • mysql sql語句總結(jié)

    mysql sql語句總結(jié)

    mysql sql語句總結(jié),都是一些比較實(shí)用簡單的語句。一定要掌握的。
    2009-11-11
  • Mysql數(shù)據(jù)庫慢查詢常用優(yōu)化方式

    Mysql數(shù)據(jù)庫慢查詢常用優(yōu)化方式

    數(shù)據(jù)庫SQL優(yōu)化是老生常談的問題,下面這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫慢查詢常用優(yōu)化方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • mysql數(shù)據(jù)庫id主鍵自增加刪除后不連續(xù)如何解決

    mysql數(shù)據(jù)庫id主鍵自增加刪除后不連續(xù)如何解決

    這篇文章主要介紹了mysql數(shù)據(jù)庫id主鍵自增加刪除后不連續(xù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論