av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

mysql 一對多 怎么在從表上面進行多條件多次統計

瀏覽:107日期:2022-06-12 15:45:45

問題描述

主表 用戶表id name phone (關聯字段)

從表 通話記錄表id phone(關聯字段) ot_phone time type (呼入呼出) input_time

聯系人表id c_id phone

公司表c_id name

怎么統計每個人的電話情況(列表limit 0,10) 呼入幾次呼出幾次本地號碼幾次外地號碼幾次總呼入時間多少總呼出時間多少匹配公司多少(主要是這個,因為聯系人表的phone有相同的,但對應不同公司,left join sum()數據不準確)匹配公司通話時間多少.......

主要問題是:聯系人表的phone不唯一,有重復手機號,例如一個人在兩家公司任職leftjoin 之后 sum 公司會有重復數據,數據不準確

其實我想過聯系人表phone去重之后在 跟別的表join,但是這樣速度會變得巨慢,要50s聯系人的表是5w以上的

好像這個是不能一條sql解決的

最終結果類似變成id name phone in_num(呼入次數) out_num(呼出次數) local_phone_num(本地號碼) .......23 ’小白’ 15523232323 45 120 30 .....24 ’小紅’ 18823232323 70 93 41 ......

問題解答

回答1:

首先你需要有個定義本地外地號碼的字段,然后是否需要展示沒有通話記錄的號碼,需要的話下面的sql改成left join并且右表取值需要做一下判空處理,不需要的話就可以直接用了

select id,name,phone, sum(case when type=’in’ then 1 else 0 end) cnt_in, sum(case when type=’out’ then 1 else 0 end) cnt_out, sum(case when iflocal=’1’ then 1 else 0 end) cnt_local, sum(case when iflocal=’0’ then 1 else 0 end) cnt_nonlocal, sum(case when type=’in’ then input_time else 0 end) alltime_in, sum(case when type=’out’ then input_time else 0 end) alltime_out from userlist a join phonelist b on a.phone=b.phone group by a.phone;

補充一下,b表的通話時間如果不是統計的int型分鐘數的話,可能你還需要轉換一下

回答2:

執行以下SQL,將會得到如下結果: (你問題中期望的結果有點看不懂)

idnamephonetypecount23小白15523232323in1423小白15523232323out287

SQL

SELECT a.id, a.name, b.phone, -- 坐席自己的電話 b.type, -- 呼入呼出 ’in’ or ’out’ b.count -- 次數FROM phoneList a LEFT JOIN (SELECT phone, type, count(1) AS count FROM phoneLog GROUP BY phone, type) b ON a.phone = b.phone回答3:

可以使用外連接查詢

相關文章:
主站蜘蛛池模板: 91精品久久久久久久久久 | 日韩精品一区二区三区高清免费 | 日韩二区| 网站国产 | 欧美一区二区在线观看 | 日韩高清国产一区在线 | 日韩免费一二三区 | 欧美精品在线免费观看 | 波多野结衣av中文字幕 | 精品亚洲一区二区 | 国产三区av | 亚洲国产激情 | 国产精品激情小视频 | 国产精品久久久久久久免费大片 | 亚洲精品99999 | 国产在线精品免费 | av在线免费观看不卡 | 97热在线| 欧美精品一区三区 | 国产精品国产成人国产三级 | 五月婷婷丁香婷婷 | 成人午夜在线 | 亚洲午夜久久久 | 天堂在线网 | 黄色一级大片在线免费看产 | 亚洲成a人片 | 在线观看免费av网 | 毛片毛片毛片毛片毛片 | 欧美456| 国产精品 欧美精品 | 国产片侵犯亲女视频播放 | 亚洲永久免费观看 | 深爱激情综合 | 亚洲不卡在线视频 | a级在线免费观看 | 蜜臀网| 亚洲黄色av | 亚洲 欧美 日韩 在线 | 天天射天天操天天干 | 日一区二区 | 亚洲成人在线网 |