在MySQL中按顺序调用聚合函数
为此,使用GROUP_CONCAT()和ORDER BY子句。让我们先创建一个表 –
mysql> create table DemoTable1588
-> (
-> StudentId int,
-> StudentFirstName varchar(20),
-> StudentMarks int
-> );
Query OK, 0 rows affected (0.49 sec)
使用insert命令在表中插入一些记录 –
mysql> insert into DemoTable1588 values(110,'Bob',78);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1588 values(101,'Sam',78);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1588 values(105,'Mike',78);
Query OK, 1 row affected (0.26 sec)
使用select语句显示表中的所有记录 –
mysql> select * from DemoTable1588;
这将产生以下输出 –
+-----------+------------------+--------------+
| StudentId | StudentFirstName | StudentMarks |
+-----------+------------------+--------------+
| 110 | Bob | 78 |
| 101 | Sam | 78 |
| 105 | Mike | 78 |
+-----------+------------------+--------------+
3 rows in set (0.00 sec)
这是一个按顺序调用聚合函数的查询 –
mysql> select group_concat(StudentFirstName order by StudentId separator '--') from DemoTable1588
-> group by StudentMarks;
这将产生以下输出 –
+------------------------------------------------------------------+
| group_concat(StudentFirstName order by StudentId separator '--') |
+------------------------------------------------------------------+
| Sam--Mike--Bob |
+------------------------------------------------------------------+
1 row in set (0.04 sec)
阅读更多:MySQL 教程