mysql降序排列的sql怎么写
时间: 2023-11-22 14:56:06 浏览: 197
MySQL 中降序排列可以使用 `ORDER BY` 子句,后跟 `DESC` 表示降序。例如:
```
SELECT * FROM mytable ORDER BY mycolumn DESC;
```
其中 `mytable` 是你要查询的表名,`mycolumn` 是你要降序排列的列名。
相关问题
查询学生中重名的名字,人数和分布在几个系中,并按重名人数降序排列sqlserver
好的,以下是可以用于 SQL Server 数据库的 SQL 查询语句:
```sql
SELECT name, COUNT(*) AS count, GROUP_CONCAT(department) AS departments
FROM (
SELECT name, department, COUNT(*) AS cnt
FROM students
GROUP BY name, department
HAVING cnt > 1
) AS t
GROUP BY name
ORDER BY count DESC;
```
这个查询语句中,我们首先在 `students` 表格中分组统计每个名字在每个系中出现的次数,并且筛选出出现次数大于 1 的记录。然后,我们再次分组,统计每个名字的总出现次数以及它们出现的系,并将系名字用逗号拼接成一个字符串。最后,我们按照总出现次数降序排列结果。
需要注意的是,这个查询语句使用了 MySQL 中的 `GROUP_CONCAT` 函数,如果您是在 SQL Server 中使用,需要将它替换成 `STRING_AGG` 函数。此外,如果您的表格中有可能存在重名但是不同姓的情况,需要在 `SELECT` 和 `GROUP BY` 语句中同时考虑到名字和姓氏。
mysql 查询时间降序排列
可以使用以下SQL语句查询时间降序排列:
```
SELECT * FROM 表名 ORDER BY 时间列名 DESC;
```
其中,将"表名"替换为你所查询的表的名称,将"时间列名"替换为你所要降序排列的时间列的名称即可。如果是日期类型的时间列,可以使用DATE或者DATETIME类型的函数进行降序排序,如下所示:
```
SELECT * FROM 表名 ORDER BY DATE(时间列名) DESC;
```
或者:
```
SELECT * FROM 表名 ORDER BY DATETIME(时间列名) DESC;
```
以上两种方法可以将日期类型的时间列按照日期进行降序排序。
阅读全文