php - 如何按两行的划分对sql输出进行排序?

标签 php sql database

我想根据点赞数(投票)除以浏览量(postviews)的结果对我网站的帖子进行排序。

这样的事情可能吗?

$sql = "SELECT * 
        from posts 
        WHERE id NOT IN(SELECT postid FROM postfeed)
        ORDER BY vote/postviews 
        DESC LIMIT 1";

这是一个将 id 添加到另一个 feed 表的 cron 作业,这就是我将 id 限制为 1 的原因。

最佳答案

我明白你想做什么了。如果你想通过计算来排序,那么做这个技巧

$sql = "SELECT p.*, p.vote/p.postviews as average 
       FROM posts p
       WHERE id NOT IN(SELECT postid FROM postfeed)
       ORDER BY average DESC 
       LIMIT 1";

您计算每一行的值,然后您应该为其创建别名并按此别名排序。

关于php - 如何按两行的划分对sql输出进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31656485/

相关文章:

php - 名称中的空格会破坏下载吗?

java - 字符串 -> java.util.Date -> java.sql.Date(带时间戳)

database - Redis级联复制

php - mysql group by 显示唯一的列数

php取消设置影响全局范围的本地引用

php - 使用复选框形式过滤列表(PHP,SQL)?

php - 使用一个查询根据 id 从不同表中选择不同值

mysql - 如何在一行中包含多行引用?

'server' 上的 mySQL 数据库(对于初学者)

php - Mysql - 删除组中的数据