📜  如何不按平均评分排序 - SQL (1)

📅  最后修改于: 2023-12-03 15:23:45.560000             🧑  作者: Mango

如何不按平均评分排序 - SQL

在SQL中,通过ORDER BY语句可以对查询结果进行排序。默认情况下,排序会按照指定列的平均值进行排序。但是,有时候我们可能需要按照其他方式进行排序,比如按照最小值、最大值或者其他特定的条件进行排序。

以下是一些示例来演示如何不按平均评分排序:

按照最小值排序
SELECT *
FROM tbl
ORDER BY MIN(score) ASC

该语句将会按照每个记录中'score'列的最小值来进行升序排序。我们可以将'ASC'从'score'最大值换成'DESC',以进行降序排序。

按照最大值排序
SELECT *
FROM tbl
ORDER BY MAX(score) ASC

同上一示例,该语句将会按照每个记录中'score'列的最大值来进行升序排序。

按照其他条件排序

如果我们需要按照其他一些特定的条件进行排序,就要使用'CASE WHEN'语句来实现。

比如,我们可以按照记录中是否包含特定字符串来进行排序:

SELECT *
FROM tbl
ORDER BY CASE WHEN name LIKE '%abc%' THEN 0 ELSE 1 END, score DESC

该语句先将包含“abc”字符串的记录排在前面,然后对其余记录按'score'列的降序进行排序。

通过以上几个示例,我们可以看到如何在SQL中进行不同方式的排序,以满足不同的需求。