groupby多个字段性能_MySQL今天我们说下分组(group by)
生活随笔
收集整理的這篇文章主要介紹了
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數據表的內容
接下來我們看下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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bmp转换tiff c++代码_Crea
- 下一篇: spring mvc原理_Spring