首页 > 解决方案 > 在不使用 MAX 和 ORDER BY 的情况下从最高到最低排序

问题描述

我想获得我使用的列的最大计数,并且想在不使用orCount()的情况下将列从最高到最低排序。maxorder by desc

我试过了

SELECT COUNT(subject) AS CNT, student
FROM AUTHOR
GROUP BY student AU1
WHERE not exists (SELECT * FROM AUTHOR AU2 
                  WHERE AU2.student <> AU1.student AND AU2.subject > AU1.CNT)

但它不会返回所需的输出。

所需的输出与

SELECT COUNT(subject) AS CNT, student
FROM AUTHOR
GROUP BY Student
ORDER BY CNT DESC

但是,没有order by descor MAX

标签: sqlsql-server

解决方案


您可以使用ORDER BY ASC

SELECT COUNT(subject) AS CNT, student
FROM AUTHOR
GROUP BY Student
ORDER BY (- CNT) ASC;

如果您希望结果按特定顺序排列,则需要使用ORDER BY. 这是使用 SQL 的规则之一。


推荐阅读