用于对行值求和并对结果进行排序的 MySQL 查询是什么?
为此,可将 GROUP BY 与 ORDER BY 子句一起使用。我们先创建一个表 -
mysql> create table DemoTable1499 -> ( -> StudentName varchar(20), -> StudentMarks int -> ); Query OK, 0 rows affected (0.46 sec)
使用 insert 命令在表中插入一些记录 -
mysql> insert into DemoTable1499 values('Chris',56);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1499 values('David',78);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1499 values('Bob',98);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1499 values('Chris',45);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1499 values('David',98);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1499 values('Bob',58);
Query OK, 1 row affected (0.11 sec)使用 select 语句显示表中的所有记录 -
Mysql> select * from DemoTable1499;
这将生成以下输出 -
+-------------+--------------+ | StudentName | StudentMarks | +-------------+--------------+ | Chris | 56 | | David | 78 | | Bob | 98 | | Chris | 45 | | David | 98 | | Bob | 58 | +-------------+--------------+ 6 rows in set (0.00 sec)
以下是用于对行值求和并对结果排序的查询 -
mysql> select StudentName,sum(StudentMarks) as TotalSum from DemoTable1499 -> group by StudentName -> order by TotalSum desc;
这将生成以下输出 -
+-------------+----------+ | StudentName | TotalSum | +-------------+----------+ | David | 176 | | Bob | 156 | | Chris | 101 | +-------------+----------+ 3 rows in set (0.00 sec)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP