首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何按两列对MySQL进行排序?

如何按两列对MySQL进行排序?
EN

Stack Overflow用户
提问于 2013-01-16 04:28:31
回答 2查看 183关注 0票数 1

我和几个朋友做了一个音乐博客,我做了一个MySQL表格来跟踪帖子的浏览量。我有一个列来跟踪管理员视图,还有一列跟踪每个帖子的用户视图。

我正在制作一个页面,以方便地查看和排序的大多数管理员视图,大多数用户视图,和总视图。我没有在我的MySQL数据库中为“总视图”创建一个列(为了计算,我只将管理视图添加到用户视图。简单明了)。

我可以通过查询SELECT * FROM log ORDER BY ADMIN DESC轻松地按管理员视图排序,对用户视图也是如此,但是有没有像SELECT * FROM log ORDER BY ADMIN + USER DESC这样的简单方法呢?如果没有,我将不得不修改我的代码来提供我自己的排序算法。

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2013-01-16 04:31:12

该查询与您所说的完全相同:

代码语言:javascript
运行
复制
SELECT  *
FROM    log
ORDER BY
        admin + user DESC

如果您为总视图创建了单独的列并对其进行了索引,则可以在查询中使用它:

代码语言:javascript
运行
复制
SELECT  *
FROM    log
ORDER BY
        total_views DESC
LIMIT   10

这将提高有限查询的SELECT速度。你这样做,整个表格应该被扫描和排序,即使你只选择了前10条评论。

票数 5
EN

Stack Overflow用户

发布于 2013-01-16 04:41:02

如果除了排序之外,您还打算使用总视图,我建议您:

代码语言:javascript
运行
复制
SELECT *,(`admin`+`user`) as `total` FROM `log` ORDER BY `total` DESC

这将在您的结果中添加一个"total“字段,您可以在计算中显示或使用该字段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14346277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档