国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MYSQL之查詢按日期分組統(tǒng)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了MYSQL之查詢按日期分組統(tǒng)計(jì)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、按日分組

1.1、dayofyear、dayofmonth、dayofweek

  • dayofyear(date) 函數(shù)返回日期位于所在年份的第幾天,范圍是1 ~ 366
  • dayofmonth(date) 函數(shù)返回日期位于所在月份的第幾天,范圍是1 ~ 31
  • dayofweek(date) 函數(shù)返回日期位于所在周的第幾天,范圍是1 ~ 7

查詢語(yǔ)句

select 
	dayofmonth(transtime) as transDay,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-10-01 00:00:00' and '2016-10-31 23:59:59'
group by transDay
order by transDay asc;

查詢結(jié)果

+----------+----------+
| transDay | transNum |
+----------+----------+
|        1 |     1704 |
|        2 |      985 |
|        3 |      723 |
|        4 |      606 |
|        5 |      581 |
|        6 |     1051 |
|        7 |     1257 |
|        8 |      637 |
|        9 |     1049 |
|       10 |      559 |
|       11 |      724 |
|       12 |      964 |
|       13 |     1139 |
|       14 |     2542 |
|       15 |     5957 |
|       16 |     3185 |
|       17 |      543 |
|       18 |      507 |
|       19 |      854 |
|       20 |      849 |
|       21 |     2216 |
|       22 |     3788 |
|       23 |     2498 |
|       24 |      693 |
|       25 |      597 |
|       26 |      756 |
|       27 |      854 |
|       28 |     1583 |
|       29 |     2180 |
|       30 |     1855 |
|       31 |      744 |
+----------+----------+
31 rows in set (0.05 sec)

??需要注意的是,如果是 dayofmonth 或者 dayofweek 時(shí)間跨月或者周,多月或者多周數(shù)據(jù)會(huì)合并到一起,如果希望分開(kāi),則可以采用下面的格式化方法。

1.2、格式化函數(shù)

  • DATE_FORMAT(date, ‘%Y-%m-%d’) 函數(shù)按指定表達(dá)返回格式化后的日期,包含年月日

查詢語(yǔ)句

select 
	DATE_FORMAT(transtime, '%Y-%m-%d') as transDay,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-10-01 00:00:00' and '2016-10-31 23:59:59'
group by transDay
order by transDay asc;

查詢結(jié)果

+------------+----------+
| transDay   | transNum |
+------------+----------+
| 2016-10-01 |     1704 |
| 2016-10-02 |      985 |
| 2016-10-03 |      723 |
| 2016-10-04 |      606 |
| 2016-10-05 |      581 |
| 2016-10-06 |     1051 |
| 2016-10-07 |     1257 |
| 2016-10-08 |      637 |
| 2016-10-09 |     1049 |
| 2016-10-10 |      559 |
| 2016-10-11 |      724 |
| 2016-10-12 |      964 |
| 2016-10-13 |     1139 |
| 2016-10-14 |     2542 |
| 2016-10-15 |     5957 |
| 2016-10-16 |     3185 |
| 2016-10-17 |      543 |
| 2016-10-18 |      507 |
| 2016-10-19 |      854 |
| 2016-10-20 |      849 |
| 2016-10-21 |     2216 |
| 2016-10-22 |     3788 |
| 2016-10-23 |     2498 |
| 2016-10-24 |      693 |
| 2016-10-25 |      597 |
| 2016-10-26 |      756 |
| 2016-10-27 |      854 |
| 2016-10-28 |     1583 |
| 2016-10-29 |     2180 |
| 2016-10-30 |     1855 |
| 2016-10-31 |      744 |
+------------+----------+
31 rows in set (0.08 sec)

二、按周分組

2.1、week函數(shù)

  • week(date) 函數(shù)返回日期是本年的第幾周,每周是從周日開(kāi)始,取值范圍是0 ~ 53

查詢語(yǔ)句

select 
	week(transtime) as transWeek,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-01-01 00:00:00' and '2016-12-31 23:59:59'
group by transWeek
order by transWeek asc;

查詢結(jié)果

+-----------+----------+
| transWeek | transNum |
+-----------+----------+
|         0 |        2 |
|         1 |        8 |
|         2 |        9 |
|         3 |        1 |
|         4 |        4 |
|         5 |        7 |
|         6 |        4 |
|         7 |        9 |
|         8 |        7 |
|         9 |        2 |
|        10 |       21 |
|        11 |       18 |
|        12 |       19 |
|        13 |       34 |
|        14 |       31 |
|        15 |       17 |
|        16 |      130 |
|        17 |      261 |
|        18 |      230 |
|        19 |      494 |
|        20 |      452 |
|        21 |      485 |
|        22 |      590 |
|        23 |      684 |
|        24 |      580 |
|        25 |      620 |
|        26 |      370 |
|        27 |      155 |
|        28 |      721 |
|        29 |      747 |
|        30 |      659 |
|        31 |      775 |
|        32 |      843 |
|        33 |      897 |
|        34 |      926 |
|        35 |      975 |
|        36 |      975 |
|        37 |     1048 |
|        38 |      393 |
|        39 |     4145 |
|        40 |     5840 |
|        41 |    12934 |
|        42 |    11942 |
|        43 |     9161 |
|        44 |     9102 |
|        45 |     8284 |
|        46 |     6150 |
|        47 |     5825 |
|        48 |     6374 |
|        49 |     6929 |
|        50 |     4366 |
|        51 |     3858 |
|        52 |     5855 |
+-----------+----------+
53 rows in set (0.12 sec)

2.2、weekofyear函數(shù)

  • weekofyear(date) 函數(shù)返回日期是本年的第幾周,每周是從周一開(kāi)始,取值范圍是1 ~ 53

查詢語(yǔ)句

select 
	weekofyear(transtime) as transWeek,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-01-01 00:00:00' and '2016-12-31 23:59:59'
group by transWeek
order by transWeek asc;

查詢結(jié)果

+-----------+----------+
| transWeek | transNum |
+-----------+----------+
|         1 |       11 |
|         2 |        6 |
|         4 |        5 |
|         5 |        6 |
|         6 |        5 |
|         7 |        9 |
|         8 |        7 |
|         9 |        1 |
|        10 |       22 |
|        11 |       17 |
|        12 |       23 |
|        13 |       34 |
|        14 |       28 |
|        15 |       16 |
|        16 |      199 |
|        17 |      194 |
|        18 |      299 |
|        19 |      510 |
|        20 |      458 |
|        21 |      492 |
|        22 |      571 |
|        23 |      709 |
|        24 |      546 |
|        25 |      640 |
|        26 |      278 |
|        27 |      257 |
|        28 |      723 |
|        29 |      720 |
|        30 |      710 |
|        31 |      786 |
|        32 |      813 |
|        33 |      921 |
|        34 |      957 |
|        35 |     1002 |
|        36 |      932 |
|        37 |     1032 |
|        38 |      327 |
|        39 |     5064 |
|        40 |     5904 |
|        41 |    15070 |
|        42 |    11255 |
|        43 |     8518 |
|        44 |     9203 |
|        45 |     7836 |
|        46 |     5448 |
|        47 |     6608 |
|        48 |     5934 |
|        49 |     6639 |
|        50 |     4160 |
|        51 |     3887 |
|        52 |     5173 |
|        53 |        3 |
+-----------+----------+
52 rows in set (0.12 sec)

2.3、weekday函數(shù)

  • weekday(date) 返回周幾,注意,周一是0,周二是1,。。。周日是6

查詢語(yǔ)句

select 
	weekday(transtime) as transWeek,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-10-01 00:00:00' and '2016-10-31 23:59:59'
group by transWeek
order by transWeek asc;

查詢結(jié)果

+-----------+----------+
| transWeek | transNum |
+-----------+----------+
|         0 |     3262 |
|         1 |     2434 |
|         2 |     3155 |
|         3 |     3893 |
|         4 |     7598 |
|         5 |    14266 |
|         6 |     9572 |
+-----------+----------+
7 rows in set (0.05 sec)

??同時(shí)如果覺(jué)得不直觀,你想獲取名稱,可以使用 dayname(date) 替代 weekday(date) ,結(jié)果如下

2.4、dayname函數(shù)

  • dayname(date) 返回星期幾:MONDAY,TUESDAY…SUNDAY

查詢語(yǔ)句

select 
	dayname(transtime) as transWeek,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-10-01 00:00:00' and '2016-10-31 23:59:59'
group by transWeek
order by transWeek asc;

查詢結(jié)果

+-----------+----------+
| transWeek | transNum |
+-----------+----------+
| Friday    |     7598 |
| Monday    |     3262 |
| Saturday  |    14266 |
| Sunday    |     9572 |
| Thursday  |     3893 |
| Tuesday   |     2434 |
| Wednesday |     3155 |
+-----------+----------+
7 rows in set (0.08 sec)

三、按月分組

3.1、month函數(shù)

  • month(date) 函數(shù)返回日期對(duì)應(yīng)的月份,范圍1~12

查詢語(yǔ)句

select 
	month(transtime) as transMonth,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-01-01 00:00:00' and '2016-12-31 23:59:59'
group by transMonth
order by transMonth asc;

查詢結(jié)果

+------------+----------+
| transMonth | transNum |
+------------+----------+
|          1 |       25 |
|          2 |       27 |
|          3 |       83 |
|          4 |      449 |
|          5 |     1893 |
|          6 |     2611 |
|          7 |     2411 |
|          8 |     3811 |
|          9 |     5334 |
|         10 |    44180 |
|         11 |    30140 |
|         12 |    24004 |
+------------+----------+
12 rows in set (0.12 sec)

??同時(shí)如果你想獲取名字,可以使用 MONTHNAME(date) 替代 month(date) ,結(jié)果如下:

+------------+----------+
| transMonth | transNum |
+------------+----------+
| April      |      449 |
| August     |     3811 |
| December   |    24004 |
| February   |       27 |
| January    |       25 |
| July       |     2411 |
| June       |     2611 |
| March      |       83 |
| May        |     1893 |
| November   |    30140 |
| October    |    44180 |
| September  |     5334 |
+------------+----------+
12 rows in set (0.20 sec)

??需要注意的是,如果是跨年了,多年的數(shù)據(jù)會(huì)合并到一起,就不知道每一年的某月是多少了,如果希望分開(kāi),則可以采用下面的格式化方法。

3.2、DATE_FORMAT函數(shù)

  • DATE_FORMAT(date, ‘%Y-%m’) 函數(shù)按指定表達(dá)返回格式化后的日期,包含年月

查詢語(yǔ)句

select 
	DATE_FORMAT(transtime, '%Y-%m') as transMonth,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-01-01 00:00:00' and '2016-12-31 23:59:59'
group by transMonth
order by transMonth asc;

查詢結(jié)果

+------------+----------+
| transMonth | transNum |
+------------+----------+
| 2016-01    |       25 |
| 2016-02    |       27 |
| 2016-03    |       83 |
| 2016-04    |      449 |
| 2016-05    |     1893 |
| 2016-06    |     2611 |
| 2016-07    |     2411 |
| 2016-08    |     3811 |
| 2016-09    |     5334 |
| 2016-10    |    44180 |
| 2016-11    |    30140 |
| 2016-12    |    24004 |
+------------+----------+
12 rows in set (0.20 sec)

四、按季分組

4.1、quarter函數(shù)

  • quarter(date) 函數(shù)返回日期對(duì)應(yīng)的季度,范圍為1~4

查詢語(yǔ)句

select 
	quarter(transtime) as quarterNo,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2016-01-01 00:00:00' and '2016-12-31 23:59:59'
group by quarterNo
order by quarterNo asc;

查詢結(jié)果

+-----------+----------+
| quarterNo | transNum |
+-----------+----------+
|         1 |      135 |
|         2 |     4953 |
|         3 |    11556 |
|         4 |    98324 |
+-----------+----------+
4 rows in set (0.12 sec)

五、按年分組

5.1、year函數(shù)

  • year(date) 函數(shù)返回日期對(duì)應(yīng)的年份

查詢語(yǔ)句

select 
	year(transtime) as transYear,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2015-01-01 00:00:00' and '2022-12-31 23:59:59'
group by transYear
order by transYear asc;

查詢結(jié)果

+-----------+----------+
| transYear | transNum |
+-----------+----------+
|      2015 |        6 |
|      2016 |   114968 |
|      2017 |    66703 |
|      2018 |     2738 |
|      2019 |     1853 |
|      2020 |      651 |
|      2021 |       40 |
+-----------+----------+
7 rows in set (0.19 sec)

5.2、DATE_FORMAT函數(shù)

  • DATE_FORMAT(date, ‘%Y’) 函數(shù)按指定表達(dá)返回格式化后的日期,包含年

查詢語(yǔ)句

select 
	DATE_FORMAT(transtime, '%Y') as transYear,
	count(*) as transNum
from tb_inf_otherbiz 
where transtime between '2015-01-01 00:00:00' and '2022-12-31 23:59:59'
group by transYear
order by transYear asc;

查詢結(jié)果

+-----------+----------+
| transYear | transNum |
+-----------+----------+
|      2015 |        6 |
|      2016 |   114968 |
|      2017 |    66703 |
|      2018 |     2738 |
|      2019 |     1853 |
|      2020 |      651 |
|      2021 |       40 |
+-----------+----------+
7 rows in set (0.19 sec)

結(jié)語(yǔ)

??本文的操作都是基于mysql8.0的版本,搞懂mysql的函數(shù)這些查詢都會(huì)變得簡(jiǎn)單。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-780973.html

到了這里,關(guān)于MYSQL之查詢按日期分組統(tǒng)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Mysql 數(shù)據(jù)庫(kù)DQL 數(shù)據(jù)查詢語(yǔ)言 SELECT 基本查詢、條件查詢、聚合查詢、分組查詢、排序查詢、分頁(yè)查詢——包含DQL所有查詢語(yǔ)句。吐血分享。

    Mysql 數(shù)據(jù)庫(kù)DQL 數(shù)據(jù)查詢語(yǔ)言 SELECT 基本查詢、條件查詢、聚合查詢、分組查詢、排序查詢、分頁(yè)查詢——包含DQL所有查詢語(yǔ)句。吐血分享。

    DQL:數(shù)據(jù)查詢語(yǔ)言; 用來(lái)對(duì)表內(nèi)的數(shù)據(jù)進(jìn)行查找 。Database Query Language SQL語(yǔ)句分為:基本查詢、條件查詢、聚合查詢、分組查詢、排序查詢、分頁(yè)查詢。 ?可以發(fā)現(xiàn)name字段就只剩下一個(gè)張三了; ? 條件: 條件查詢—比較運(yùn)算符 比較運(yùn)算符 功能 大于 = 大于等于 小于 = 小于等

    2024年01月19日
    瀏覽(45)
  • MySQL時(shí)間分組:按小時(shí)統(tǒng)計(jì)數(shù)據(jù)(mysql按小時(shí)分組)

    MySQL時(shí)間分組是一類涉及MySQL數(shù)據(jù)庫(kù)的SQL語(yǔ)句,能夠以小時(shí)對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì)。 比如,如果你想根據(jù)一定的時(shí)間間隔,把MySQL數(shù)據(jù)庫(kù)中的記錄分成幾組,那么MySQL時(shí)間分組技術(shù)就派上用場(chǎng)了。 MySQL時(shí)間分組主要使用MySQL語(yǔ)句YEAR(), WEEK(), HOUR()和GROUP BY來(lái)實(shí)現(xiàn),按小時(shí)統(tǒng)計(jì)數(shù)據(jù)實(shí)

    2024年02月12日
    瀏覽(22)
  • Mysql按小時(shí)進(jìn)行分組統(tǒng)計(jì)數(shù)據(jù)

    Mysql按小時(shí)進(jìn)行分組統(tǒng)計(jì)數(shù)據(jù)

    目錄 前言 按1小時(shí)分組統(tǒng)計(jì) 按2小時(shí)分組統(tǒng)計(jì) 按X小時(shí)分組統(tǒng)計(jì) 統(tǒng)計(jì)數(shù)據(jù)時(shí)這種是最常見(jiàn)的需求場(chǎng)景,今天寫(xiě)需求時(shí)發(fā)現(xiàn)按2小時(shí)進(jìn)行分組統(tǒng)計(jì)也特別簡(jiǎn)單,特此記錄下。 sql: 返回值: 沒(méi)啥好說(shuō)的,直接使用 hour() 函數(shù)獲取時(shí)間字段的小時(shí)部分進(jìn)行分組統(tǒng)計(jì)即可 sql: 返回值:

    2024年02月13日
    瀏覽(25)
  • mysql統(tǒng)計(jì)近7天數(shù)據(jù)量,,按時(shí)間戳分組

    mysql統(tǒng)計(jì)近7天數(shù)據(jù)量,,按時(shí)間戳分組

    可以使用以下 SQL 語(yǔ)句來(lái)統(tǒng)計(jì)近7天的數(shù)據(jù)量,并按時(shí)間戳分組。如果某一天沒(méi)有數(shù)據(jù),則將其填充為0。 解釋說(shuō)明: DATE_FORMAT(FROM_UNIXTIME( timestamp ), \\\'%Y-%m-%d\\\') AS date 將時(shí)間戳轉(zhuǎn)換為日期格式,例如 2021-03-01。 COUNT(*) AS count 統(tǒng)計(jì)每天數(shù)據(jù)的數(shù)量。 WHERE timestamp = UNIX_TIMESTAMP(DATE_SUB

    2024年02月13日
    瀏覽(27)
  • MYSQL按照小時(shí)、按天、按月分組統(tǒng)計(jì),無(wú)數(shù)據(jù)補(bǔ)0

    MYSQL按照小時(shí)、按天、按月分組統(tǒng)計(jì),無(wú)數(shù)據(jù)補(bǔ)0

    在開(kāi)發(fā)過(guò)程中,寫(xiě)統(tǒng)計(jì)接口時(shí),總會(huì)遇到按時(shí)、按天、按月統(tǒng)計(jì),無(wú)數(shù)據(jù)進(jìn)行補(bǔ)零的業(yè)務(wù)需求 現(xiàn)在市面既有補(bǔ)0的做法;也有不補(bǔ)0的做法: 不補(bǔ)0對(duì)于數(shù)據(jù)統(tǒng)計(jì)來(lái)說(shuō)簡(jiǎn)潔明了,一個(gè)單表分組查詢完事。(也就是在前端展示時(shí),某個(gè)時(shí)間沒(méi)有數(shù)據(jù)則不展示該時(shí)間,對(duì)于用戶來(lái)說(shuō),

    2024年02月03日
    瀏覽(14)
  • Mysql 查詢分組數(shù)據(jù)中每組某一數(shù)值最大的數(shù)據(jù)

    Mysql 查詢分組數(shù)據(jù)中每組某一數(shù)值最大的數(shù)據(jù)

    該表表名為customer,? park_id表示園區(qū)id,joined_at表示用戶的加入時(shí)間,created_at表示用戶的創(chuàng)建時(shí)間。 需求:查出每個(gè)園區(qū)中,最早加入園區(qū)的第一位用戶 查出id為 1和9的兩條數(shù)據(jù) 解題思路: ? ? ? 【提示】? 此處使用 limit 是為了確保,group by分組的時(shí)候會(huì)按照子查詢中輸出的

    2024年02月08日
    瀏覽(25)
  • 【MySQL聚合查詢】輕松實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)

    【MySQL聚合查詢】輕松實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)

    聚合查詢:行和行之間的運(yùn)算 常見(jiàn)的聚合函數(shù): count:數(shù)量 sum:求和 avg:求平均值 max:最大值 min:最小值 1.2.1 count 函數(shù) 現(xiàn)在有一個(gè) class 表: 現(xiàn)在我們就用 count 來(lái)統(tǒng)計(jì) class 表中有多少個(gè)班級(jí) 1.2.2 sum 函數(shù) 現(xiàn)在有一個(gè) score 表: 現(xiàn)在我們就用 sum函數(shù)來(lái)求 language 成績(jī)的總和

    2024年02月06日
    瀏覽(16)
  • MySQL數(shù)據(jù)庫(kù)——MySQL WHERE:條件查詢數(shù)據(jù)

    在 MySQL 中,如果需要有條件的從數(shù)據(jù)表中查詢數(shù)據(jù),可以使用?WHERE?來(lái)指定查詢條件。 使用 WHERE 的語(yǔ)法格式如下: WHERE 查詢條件 查詢條件可以是: 帶比較運(yùn)算符和邏輯運(yùn)算符的查詢條件 帶 BETWEEN AND 的查詢條件 帶 IS NULL 的查詢條件 帶 IN

    2024年02月03日
    瀏覽(29)
  • MySQL數(shù)據(jù)庫(kù)實(shí)驗(yàn)三 MySQL查詢

    一、實(shí)驗(yàn)項(xiàng)目: MySQL查詢。 二、實(shí)驗(yàn)?zāi)康?掌握MySQL的查詢操作。 三、實(shí)驗(yàn)內(nèi)容 (一): 1、查詢lineitem表中商品編號(hào)(productid)和單價(jià)(unitprice),要求消除重復(fù)行。 2、計(jì)算lineitem表中每條記錄的商品金額。 3、顯示orders表單筆高于200元的客戶號(hào)(userid)、成交金額(total

    2024年02月11日
    瀏覽(22)
  • mysql 分組函數(shù),分組查詢

    #1.分組函數(shù) 功能:用作統(tǒng)計(jì)使用,又稱聚合函數(shù),統(tǒng)計(jì)函數(shù),組函數(shù) 分類: sum :求和,avg 平均值,max最大值,min最小值,count計(jì)算個(gè)數(shù) 特點(diǎn): sum, avg 一般用于處理數(shù)值型 max ,min ,count 可以處理任何類型 是否忽略Null count: MYISAM 存儲(chǔ)引擎下,COUNT( ) 的效率高 INNODB 存儲(chǔ)引擎下,COUN

    2024年01月25日
    瀏覽(13)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包