mysql統計日活、周活、月活

2020-11-23 CSDN技術社區

mysql分組函數、組函數、聚合函數、統計函數

直接po代碼,代碼中有注釋

#二、分組函數/*功能:用作統計使用,又稱為聚合函數或統計函數或組函數分類:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 計算個數特點:1、sum、avg一般用於處理數值型 max、min、count可以處理任何類型2、以上分組函數都忽略null值3、可以和distinct搭配實現去重的運算4、count函數的單獨介紹一般使用count(*)用作統計行數5、和分組函數一同查詢的欄位要求是group by後的欄位*/##1、分組函數的簡單 的使用SELECT SUM(salary) FROM employees;SELECT AVG(salary) FROM employees;SELECT MAX(salary) FROM employees;SELECT MIN(salary) FROM employees;SELECT COUNT(salary), COUNT(*), COUNT('aaa'), COUNT("bbbb"), COUNT(666) FROM employees;SELECT SUM(salary), AVG(salary), MAX(salary), MIN(salary), COUNT(salary)FROM employees;#函數嵌套SELECT SUM(salary), ROUND(AVG(salary), 2), MAX(salary), MIN(salary), COUNT(salary)FROM employees;#2、參數支持哪些類型#使用SUM()函數和AVG()函數去處理字符型和日期型,儘管語法不會報錯,但是沒什麼意義SELECT SUM(last_name), AVG(last_name) FROM employees; SELECT SUM(hiredate), AVG(hiredate) FROM employees;#max、min、count可以處理任何類型SELECT MAX(last_name), MIN(last_name) FROM employees;SELECT MAX(hiredate), MIN(hiredate) FROM employees;SELECT MAX(salary), MIN(salary) FROM employees;SELECT COUNT(salary), COUNT(last_name), COUNT(*), COUNT(hiredate) FROM employees;#COUNT()函數不會把null算進去,即忽略nullSELECT COUNT(salary), COUNT(commission_pct), COUNT(last_name), COUNT(*), COUNT(hiredate) FROM employees;SELECT * FROM employees WHERE commission_pct IS NOT NULL;SELECT * FROM employees WHERE commission_pct IS NULL;#3、是否忽略null (記住:分組函數都忽略null值,即不會把null算進去)SELECT COUNT(commission_pct), SUM(commission_pct), AVG(commission_pct), SUM(commission_pct) / 35, SUM(commission_pct) / 107 FROM employees ;#SELECT MAX(commission_pct), MIN(commission_pct) FROM employees; #SELECT COUNT(commission_pct) FROM employees;SELECT commission_pct FROM employees;##4、和distinct搭配使用SELECT COUNT(DISTINCT salary), COUNT(salary) FROM employees;SELECT SUM(DISTINCT salary), SUM(salary) FROM employees;SELECT SUM(DISTINCT commission_pct), SUM(commission_pct) FROM employees;SELECT COUNT(DISTINCT commission_pct), COUNT(commission_pct) FROM employees;#SELECT MAX(DISTINCT commission_pct) AS 結果, MAX(commission_pct) AS 結果, MIN(commission_pct) AS 結果, MIN(DISTINCT commission_pct) AS 結果, AVG(commission_pct) AS 結果, AVG(DISTINCT commission_pct) AS 結果, SUM(DISTINCT commission_pct) / COUNT(DISTINCT commission_pct) AS 結果FROM employees ;#SELECT MAX(DISTINCT salary), MAX(salary), MIN(salary), MIN(DISTINCT salary), AVG(salary), AVG(DISTINCT salary), SUM(DISTINCT salary) / COUNT(DISTINCT salary) AS 結果FROM employees ;#別名可以取一樣的,語法不會報錯,但是不建議取一樣的別名,容易混淆SELECT salary AS a, hiredate AS a FROM employees /*下面這條sql語句,語法報錯,原因是,取了一樣的別名,在使用別名排序時,搞不清該別名到底指的是誰(即模稜兩可;含糊的,不明確的,引起歧義的,有兩種或多種意思的)*/ #select salary as a,hiredate as a from employees order by a; #5、count函數的詳細介紹 #統計個數,推薦使用COUNT(*),不推薦使用COUNT(欄位名) SELECT COUNT(salary), COUNT(commission_pct), #統計個數最好用*星號,不要用具體的某個欄位,因為某欄位中可能有null COUNT(*) AS 個數, COUNT(NULL), COUNT('aaa'), COUNT(6666), COUNT("bbb") FROM employees ;/*效率:MYISAM存儲引擎下 ,COUNT(*)的效率高INNODB存儲引擎下,COUNT(*)和COUNT(1)的效率差不多,比COUNT(欄位)要高一些*/ #SELECT COUNT(salary), COUNT(commission_pct) FROM employees;#SELECT COUNT(*) FROM employees;#SELECT COUNT(1), COUNT(66), COUNT("bbb"), COUNT('aaa') FROM employees;#SELECT * FROM employees; #6、和分組函數一同查詢的欄位有限制 #如下這條sql語句語法不會報錯,但是沒有任何意義SELECT AVG(salary), employee_id, last_name FROM employees;#測試下ROUND()函數SELECT ROUND(689.257, 2), ROUND('689.257', 2), ROUND('hello', 2), ROUND( '江西省贛州市于都縣', 4 ) ;#1.查詢公司員工工資的最大值,最小值,平均值,總和SELECT MAX(salary), MIN(salary), AVG(salary), ROUND(AVG(salary), 2), SUM(salary) FROM employees ; #DATEDIFF()函數SELECT DATEDIFF('2018-12-18', '2018-12-01'), DATEDIFF('2018-12-18', '2018-12-2'); SELECT DATEDIFF('18-3-8', '2018-3-01'), DATEDIFF('2018-2-12', '18-2-02');SELECT DATEDIFF('2018-3-01', '18-3-8'), DATEDIFF('18-2-02', '2018-2-12');#算一下自己活了多少天了SELECT DATEDIFF(NOW(), '1995-08-27'); #2.查詢員工表中的最大入職時間和最小入職時間的相差天數 (DIFFRENCE),使用DATEDIFF()函數SELECT MIN(hiredate) 最早入職, MAX(hiredate) 最晚入職, DATEDIFF(MAX(hiredate), MIN(hiredate)) AS 相差天數FROM employees ; #查看下employees表結構,查看下employees表中的hiredate欄位的類型DESC employees;#也可以使用如下方式SELECT MIN(hiredate) 最早入職, MAX(hiredate) 最晚入職, (UNIX_TIMESTAMP(MAX(hiredate)) - UNIX_TIMESTAMP(MIN(hiredate)))/(60*60*24) 相差天數, (UNIX_TIMESTAMP(MAX(hiredate)) - UNIX_TIMESTAMP(MIN(hiredate)))/(60*60*24*365) 相差年 FROM employees ;#3.查詢部門編號為90的員工個數#SELECT COUNT(*) FROM employees WHERE department_id = 90 ;#用單引號把90包起來,效果一樣SELECT COUNT(*) FROM employees WHERE department_id = '90' ;#用雙引號把90包起來,效果一樣SELECT COUNT(*) FROM employees WHERE department_id = "90" ;

 

相關焦點

  • MySQL如何計算統計redo log大小
    在MySQL中如何計算、統計重做日誌(redo log)的生成情況呢? 例如10分鐘內,生成了多少M的redo log呢?30分鐘內又生成了多少M的redo log.....。MySQL沒有像Oracle中那樣的系統視圖統計這些數據,但是我們可以通過一些方法曲線的統計二進位日誌的生成量。
  • MySQL8.0窗口函數做數據排名統計詳細教程
    MySQL8.0新增了窗口函數,大大的方便了做數據排名統計的人,很多朋友還不清楚怎麼用MySQL8.0做數據統計排名,下面就來為大家分享一篇心得文章。
  • mysql查詢——統計每日新用戶數量
    下圖是一張網站用戶活動表(User_Activities),表中包含欄位UserId(用戶編號)、Activity(用戶活動,可取值login、orders、logout)、Date(活動日期),現需要編寫一個查詢語句,統計網站每日的新用戶數量,即統計每日登錄用戶中首次登錄網站的用戶數
  • 活了多少天計算器 從出生到現在活了多少天
    你知道從你出生到現在活了多少天?大家一起跟著小編用萬年曆的活了多少天計算機計算下你從出生到現在活了多少天吧,不要再朦朦朧朧的生活下去了。我們可以通過萬年曆日期來假設你出生於2007年1月1日》》http://wannianli.tianqi.com/
  • DTCC:MySQl核心代碼開發經驗揭示
    【IT168資訊】由IT168(ITPUB、IXPUB、ChinaUnix)主辦的2012中國資料庫技術大會(DTCC)於(以下簡稱大會)2012年4月13日~15日在北京永泰福朋喜來登大酒店隆重召開。大會將針對大數據架構設計、資料庫安全、分布式資料庫、商業智能、NoSQL、Hadoop等多個重點話題進行深入探討。
  • 羊價每日報 || 1月28日 全國最新活羊價格
    平均600一隻(1月21日)河北省固安縣山羊70斤左右的糕子公母混裝16一斤(1月18日)河北唐山灤縣50斤左右小公羔寒羊950元(1月15日)唐縣育肥羊今天14.2賣的112斤(1月14日)河北衡水山羊17元(1月14日)河北唐山:育肥羊公羔14塊(1月13日)搜索關注
  • 他活了256歲!這是真的嗎?
    雖然出生時間不能確定,但死亡時間卻是肯定的,他在1933年5月6日去世,這在《時代》雜誌和《紐約時報》是登了訃聞的。分別按他兩個出生日期計算,他活了197或者是256歲。不論哪一個年齡都遠超當今的吉尼斯紀錄。這是真的嗎?
  • 有多少人能活到22世紀?
    有了一點年紀的朋友一定還記得2000年的1月1日,21世紀的第一天,比2020的第一天更有意義吧。但是回想過去,也平常得很。跟朋友一起慶祝這個新時代的到來?可日子還是照常過。不論是回首過往,還是眺望未來,都沒有當下的時間更有意義了。可是我們卻常常不覺,總是當這樣一個具有節點意義的時間到來,才想起去紀念些什麼,不過,這並不重要,過幾天就淡忘了。
  • || 9月18日 全國活羊價格匯總
    怕不(9月12日)我中旗前兩天二十斤左右賣了850(9月12日)呼倫貝爾: 我們這裡基礎母羊賣到1600-1700元了,還有漲價的趨勢(9月11日)內蒙古興安盟哈曰努拉羊價16一17元每斤過稱(9月10日)阿拉善左旗山羊羔子800元左右,綿羊羔子950元左右,都是今年2,3月份下的草原羊(9月8日)【遼寧】
  • 杜鳳國:「活的植物檢索表」
    他多年來一直工作在教書育人和科研第一線,在教學中精益求精,被學生稱為「活的植物檢索表」。杜鳳國在教學上積極進行教學改革,創建了森林植物學和樹木學課程教學的新模式,使教學形象、直觀和具體,極大地提高了教學質量和效果。同時,建立了森林植物學智能化試題庫,主持的「植物標本微機化管理系統」,可準確查詢、統計和檢索,實現了標本的數位化管理,填補了該領域空白。
  • 我們買不到活帶魚是因為海魚到淡水中後 2020年11月9日今日螞蟻...
    我們買不到活帶魚是因為海魚到淡水中後 2020年11月9日今日螞蟻莊園答案是什麼時間:2020-11-09 12:48   來源:今日頭條   責任編輯:毛青青 川北在線核心提示:原標題:我們買不到活帶魚是因為海魚到淡水中後 2020年11月9日今日螞蟻莊園答案是什麼 我們買不到活帶魚,是因為海魚到淡水中後今天支付寶小雞莊園
  • 案例分析:理財類APP如何科學制定促活策略?
    比如,通常情況下,APP統計平臺認為日活指的是每日打開APP的用戶數,這也是廣義上行業對日活的定義。但有的網際網路企業對日活有自己的定義,他們從自己的業務屬性出發,認為當日使用了某個特定功能或者觸發了某個特定行為的用戶才算日活。該理財類APP所指的日活是廣義上的日活,即每日打開APP的用戶數。
  • 活石藝家9月19日秘境M60文化創意園開業慶典
    (贏商網雲南站報導)9月19日下午,昆明市普吉路47號秘境M60文化創意園,活石藝家盛大開業。活動當日,匯集雲南各大品牌商家與多家主流媒體,並有孔雀窩楊麗萍私家衣櫥、烏凌.圖明莎、中華國際旗袍會雲南分會暨雲南旗袍會現場紅毯走秀以及民族大學藝術學院,美術系木刻實踐基地掛牌入駐。
  • 活用這幾種統計圖,你的數據可視化逆天了
    那麼活用了以下的幾種統計圖,你的數據可視化就逆天了。柱狀圖:這是最常用的圖表之一了,用垂直或者水平的柱子表示不同分類數據的數值大小,可以看到展示的數據的變化趨勢。還有一種比較複雜的柱狀圖,如果每一個值都可以往下繼續分類,他的每一個分類可以由一根柱變成多根柱。柱狀圖是可以利用柱子的高度,反應數據的差異,肉眼可以看到高度的差異,非常的直觀。
  • mysql查詢前一周的數據_mysql查詢當天的數據 - CSDN
    mysql 昨天 一周前 一月前 一年前的數據 這裡主要用到了DATE_SUB,參考如下代碼如下:SELECT * FROM
  • MySQL資料庫函數詳解(3)
    (11) object mysql_fetch_field(int result [,int col_num]);    返回結果集中給定列的相關元數據信息,如果沒有這樣的列,則返回假。如果省略col_num,則對mysql_fetch_field()的後繼調用返回結果集後續列的信息。如果不再有剩餘的列。則返回值為假。
  • mysql 版本號解釋_mysql workbench查詢mysql版本號 - CSDN
    mysql有關權限的表都有哪幾個MySQL伺服器通過權限表來控制用戶對資料庫的訪問,權限表存放在mysql資料庫裡,由mysql_install_db腳本初始化。這些權限表分別user,db,table_priv,columns_priv和host。
  • Mysql(Mariadb)資料庫主從複製
    二、主資料庫master修改:1.修改mysql配置找到主資料庫的配置文件my.cnf(或者my.ini),我的在/etc/my.cnf,在[mysqld]部分插入如下兩行:# find / -name my.cnf默認配置[mysqld]log-bin=mysql-bin #開啟二進位日誌 server-id=1
  • MySQL 數據校驗工具-愛可生|mysql|perl|伺服器|node01_網易訂閱
    [root@node01 ~]# sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=10.186.63.82 \  --mysql-port=4380 --mysql-user=gengjin --mysql-password=123 --mysql-db=test \  --table-size
  • 研究發現:人造物的質量今年首次超過全球活生物
    據西班牙《國家報》網站12月10日報導,道路、建築物、瓶子、磚塊或玩具的質量有史以來首次超過了全球活生物的質量。這項追溯到1900年的研究表明,在動植物的公斤數迅速減少的同時,混凝土、磚塊、附聚物或塑料等人造物品卻在以日益加快的速度增長。報導稱,人造物積累的重量每20年就翻一番,接下來的20年中預計將翻三番。