濮阳杆衣贸易有限公司

主頁 > 知識庫 > mysql實現(xiàn)多表關(guān)聯(lián)統(tǒng)計(子查詢統(tǒng)計)示例

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

熱門標(biāo)簽:美國反騷擾電話機器人 騰訊地圖標(biāo)注提升 悟空科技電話機器人 電銷卡外呼系統(tǒng)供應(yīng)商 真人語音電話機器人 怎么在地圖標(biāo)注位置生成圖片 福建外呼系統(tǒng)定制化 400電話可以免費申請嗎 銅陵防封電銷卡

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

需求:

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

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

問題:

當(dāng)關(guān)聯(lián)超過兩張表時導(dǎo)致統(tǒng)計時數(shù)據(jù)重復(fù),只好用子查詢查出來,子查詢只能查一個字段,這里用CONCAT_WS函數(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 為三個消費數(shù),以逗號隔開

性能分析

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

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

您可能感興趣的文章:
  • MySQL里面的子查詢實例
  • 解決MySQL中IN子查詢會導(dǎo)致無法使用索引問題
  • 詳細講述MySQL中的子查詢操作
  • 詳解MySQL子查詢(嵌套查詢)、聯(lián)結(jié)表、組合查詢
  • mysql in語句子查詢效率慢的優(yōu)化技巧示例
  • MySQL優(yōu)化之使用連接(join)代替子查詢
  • Mysql子查詢IN中使用LIMIT應(yīng)用示例
  • MYSQL子查詢和嵌套查詢優(yōu)化實例解析
  • MySQL筆記之子查詢使用介紹
  • MySQL子查詢中order by不生效問題的解決方法

標(biāo)簽:白銀 烏海 臨汾 湖北 湖南 武威 聊城 云浮

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql實現(xiàn)多表關(guān)聯(lián)統(tǒng)計(子查詢統(tǒng)計)示例》,本文關(guān)鍵詞  mysql,實現(xiàn),多表,關(guān)聯(lián),統(tǒng)計,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql實現(xiàn)多表關(guān)聯(lián)統(tǒng)計(子查詢統(tǒng)計)示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql實現(xiàn)多表關(guān)聯(lián)統(tǒng)計(子查詢統(tǒng)計)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    南投市| 郯城县| 南京市| 武川县| 江源县| 建瓯市| 巴彦淖尔市| 郸城县| 密山市| 龙胜| 桐梓县| 黑龙江省| 洮南市| 封开县| 仲巴县| 汤原县| 洱源县| 枞阳县| 桃江县| 房山区| 大港区| 东辽县| 涡阳县| 通榆县| 永吉县| 土默特右旗| 泰安市| 农安县| 永定县| 万荣县| 安溪县| 五大连池市| 郧西县| 望江县| 忻州市| 千阳县| 梅河口市| 大荔县| 苗栗市| 当涂县| 惠来县|