我和几个朋友做了一个音乐博客,我做了一个MySQL表格来跟踪帖子的浏览量。我有一个列来跟踪管理员视图,还有一列跟踪每个帖子的用户视图。
我正在制作一个页面,以方便地查看和排序的大多数管理员视图,大多数用户视图,和总视图。我没有在我的MySQL数据库中为“总视图”创建一个列(为了计算,我只将管理视图添加到用户视图。简单明了)。
我可以通过查询SELECT * FROM log ORDER BY ADMIN DESC轻松地按管理员视图排序,对用户视图也是如此,但是有没有像SELECT * FROM log ORDER BY ADMIN + USER DESC这样的简单方法呢?如果没有,我将不得不修改我的代码来提供我自己的排序算法。
提前谢谢你。
发布于 2013-01-16 04:31:12
该查询与您所说的完全相同:
SELECT *
FROM log
ORDER BY
admin + user DESC如果您为总视图创建了单独的列并对其进行了索引,则可以在查询中使用它:
SELECT *
FROM log
ORDER BY
total_views DESC
LIMIT 10这将提高有限查询的SELECT速度。你这样做,整个表格应该被扫描和排序,即使你只选择了前10条评论。
发布于 2013-01-16 04:41:02
如果除了排序之外,您还打算使用总视图,我建议您:
SELECT *,(`admin`+`user`) as `total` FROM `log` ORDER BY `total` DESC这将在您的结果中添加一个"total“字段,您可以在计算中显示或使用该字段。
https://stackoverflow.com/questions/14346277
复制相似问题