日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

groupby多个字段性能_MySQL今天我们说下分组(group by)

發布時間:2024/10/8 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 groupby多个字段性能_MySQL今天我们说下分组(group by) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? MySQL的分組(group by), 根據一個或多個列對結果集進行分組。在分組列上,可以使用 count,avg,sum等函數。

?對應的語法為:

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

我們直接來看下實例:

  • 先查看下teacher數據表的內容

  • 然后我們進行下分組,對于name字段
  • 可以看到,使用group by + count, 顯示了對應字段出現的次數
    接下來我們看下group by的WITH ROLLUP功能:
    可以實現在分組統計數據基礎上再進行相同的統計(SUM,AVG,COUNT…)
    我們來看看實例:
    mysql> select * from teacher;
    +----+--------+------------+--------+
    | id | name?? | time?????? | scores |
    +----+--------+------------+--------+
    |? 1 | 張三?? | 2020-06-28 |???? 77 |
    |? 2 | 李四?? | 2020-06-28 |???? 88 |
    |? 3 | 王五?? | 2020-06-28 |???? 66 |
    |? 4 | 趙六?? | 2020-06-28 |???? 49 |
    |? 5 | 張三?? | 2020-06-29 |???? 81 |
    |? 6 | 胡八?? | 2020-06-29 |???? 92 |
    |? 7 | 柳九?? | 2020-06-29 |??? 100 |
    |? 8 | 王五?? | 2020-06-29 |???? 28 |
    +----+--------+------------+--------+
    8 rows in set (0.00 sec)
    先創建一個新的字段,然后使用update命令更新數據,或者插入數據也可以
    mysql> select name,sum(scores) from teacher group by name with rollup;
    +--------+-------------+
    | name?? | sum(scores) |
    +--------+-------------+
    | 張三?? |???????? 158 |
    | 李四?? |????????? 88 |
    | 柳九?? |???????? 100 |
    | 王五?? |????????? 94 |
    | 胡八?? |????????? 92 |
    | 趙六?? |????????? 49 |
    | NULL?? |???????? 581 |
    +--------+-------------+
    7 rows in set (0.01 sec)
    計算了每行對應的分數和
    再加上as scores_count看看有沒有變化
    mysql> select name,sum(scores) as scores_count from teacher group by name with rollup;
    +--------+--------------+
    | name?? | scores_count |
    +--------+--------------+
    | 張三?? |????????? 158 |
    | 李四?? |?????????? 88 |
    | 柳九?? |????????? 100 |
    | 王五?? |?????????? 94 |
    | 胡八?? |?????????? 92 |
    | 趙六?? |?????????? 49 |
    | NULL?? |????????? 581 |
    +--------+--------------+
    7 rows in set (0.00 sec)
    沒有什么變化,但是為什么最后會出現一行 Null的數據呢?
    我回去再看看,今天先到這里吧

    總結

    以上是生活随笔為你收集整理的groupby多个字段性能_MySQL今天我们说下分组(group by)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。