多级排序

发布于 2024-11-02 16:12:53 字数 248 浏览 1 评论 0原文

我有一个表,其中包含一些记录,其中包含名称、评级等字段。

我首先想根据评级将结果限制为 20 进行排序,然后在此结果集上希望进一步应用基于名称的排序。

我知道要排序我们需要使用类似的查询,

Select * from table order by rating Desc limit 20

但是在此结果集上如何应用另一个级别的排序?如何将这两种排序合并到一个 sqlite 语句中?

I have a table with some records with fields like name, rating etc.

I first want to sort based on rating limiting results to 20 and then on this resultset want to further apply sort based on name.

I know to sort we need to use the query like

Select * from table order by rating Desc limit 20

but on this resultset how to apply another level of ordering? How can I combine these two sorts in one sqlite statement?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薔薇婲 2024-11-09 16:12:53

您可以使用例如 ORDER BY rating DESC, name ASC 按评级排序,然后,如果评级相等,则按名称排序。

You could use e.g. ORDER BY rating DESC, name ASC to sort by rating and then, if the ratings are equal, by name.

几味少女 2024-11-09 16:12:53

这个查询应该可以解决问题:

SELECT * FROM (SELECT * FROM table ORDER BY rating DESC LIMIT 20) ORDER BY name

This query should do the trick:

SELECT * FROM (SELECT * FROM table ORDER BY rating DESC LIMIT 20) ORDER BY name
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文