MySQL?聚合函數(shù)、分組查詢、時(shí)間函數(shù)詳解
一、題目:每位教師所教授的科目種類的數(shù)量
本題主要考驗(yàn)聚合函數(shù)count()求和以及分組查詢。
1 準(zhǔn)備工作
Create table If Not Exists Teacher (teacher_id int, subject_id int, dept_id int); Truncate table Teacher; insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '2', '3'); insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '2', '4'); insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '3', '3'); insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '1', '1'); insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '2', '1'); insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '3', '1'); insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '4', '1');
查詢每位老師在大學(xué)里教授的科目種類的數(shù)量;
示例 1:
輸入:
Teacher 表:
輸出:
2 分析
3 實(shí)現(xiàn)
select activity_date day, count(distinct user_id) active_users from activity where datediff('2019-07-27',activity_date) between 0 and 29 group by activity_date;
二 、查詢近30天活躍用戶數(shù)
本題主要考驗(yàn)
分組查詢
字符串函數(shù)count統(tǒng)計(jì)人數(shù)
時(shí)間函數(shù)定義時(shí)間
1 準(zhǔn)備工作
Create table If Not Exists Activity (user_id int, session_id int, activity_date date, activity_type ENUM('open_session', 'end_session', 'scroll_down', 'send_message')); Truncate table Activity; insert into Activity (user_id, session_id, activity_date, activity_type) values ('1', '1', '2019-07-20', 'open_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('1', '1', '2019-07-20', 'scroll_down'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('1', '1', '2019-07-20', 'end_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('2', '4', '2019-07-20', 'open_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('2', '4', '2019-07-21', 'send_message'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('2', '4', '2019-07-21', 'end_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('3', '2', '2019-07-21', 'open_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('3', '2', '2019-07-21', 'send_message'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('3', '2', '2019-07-21', 'end_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('4', '3', '2019-06-25', 'open_session'); insert into Activity (user_id, session_id, activity_date, activity_type) values ('4', '3', '2019-06-25', 'end_session');
統(tǒng)計(jì)截至 2019-07-27(包含07-27),近30天的每日活躍用戶數(shù)(當(dāng)天只要有一條活動(dòng)記錄,即為活躍用戶)
示例 2 :
輸入:
輸出:
2 分析
首先需要查詢的字段為時(shí)間和用戶登錄數(shù),對(duì)時(shí)間分組并且對(duì)用戶人數(shù)統(tǒng)計(jì)查詢出每日活躍的用戶。(含重復(fù)id)
對(duì)用戶的id進(jìn)行去重查出每日活躍用戶
3 實(shí)現(xiàn)
select activity_date day, count(distinct user_id) active_users from activity where datediff('2019-07-27',activity_date) between 0 and 29 group by activity_date;
到此這篇關(guān)于MySQL 聚合函數(shù)、分組查詢、時(shí)間函數(shù) 的文章就介紹到這了,更多相關(guān)mysql聚合函數(shù)、分組查詢、時(shí)間函數(shù) 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL自動(dòng)停機(jī)的問題處理實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于MySQL自動(dòng)停機(jī)的問題處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05mysql中insert并發(fā)問題(on?DUPLICATE?KEY?UPDATE)
本文主要介紹了mysql中insert并發(fā)問題(on?DUPLICATE?KEY?UPDATE),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01mysql id從1開始自增 快速解決id不連續(xù)的問題
這篇文章主要介紹了mysql id從1開始自增 快速解決id不連續(xù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07MySQL 8.0.20 Window10免安裝版配置及Navicat管理教程圖文詳解
這篇文章主要介紹了MySQL 8.0.20 Window10免安裝版配置及Navicat管理,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06MySQ索引操作命令總結(jié)(創(chuàng)建、重建、查詢和刪除索引命令詳解)
本篇文章主要是對(duì)MySQL索引操作方法做了一下總結(jié),包括創(chuàng)建索引、重建索引、查詢索引、刪除索引的操作2014-04-04mysql數(shù)據(jù)備份與恢復(fù)實(shí)現(xiàn)方法分析
這篇文章主要介紹了mysql數(shù)據(jù)備份與恢復(fù)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了mysql數(shù)據(jù)備份與恢復(fù)常見實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-04-04