显示同一列中两个条件的WHERE

时间:2017-05-19 05:53:10

标签: php database

-----------------------------------------------------
|   id  |   posts_id    |   users_id    |   ratings |
-----------------------------------------------------
|   1   |       7       |       20      |   5       |
|   2   |       8       |       20      |   3       |
|   3   |       7       |       21      |   4       |
-----------------------------------------------------

表名: mytable

\我想确保posts_id和users_id之间的评分在同一列上匹配。

$query = $conn->query("SELECT ratings FROM mytable WHERE posts_id=7 and users_id=20");
$row = $query->fetch_array();
echo $row['ratings'];

此查询不起作用。我知道肯定有问题。

我想得到结果: 5

显示评分的最佳查询是什么?

----------------的更新 ----------------------- ------

抱歉,我的第一个问题在于连接,现在已经解决了。

但现在出现了一个新问题。

我想显示评分结果的总和。

我的新代码

$Rate = $conn->query("SELECT * FROM mytable WHERE posts_id=7");

while ($Rated = $Rate->fetch_array()) {
    echo $Rated['ratings'] + $Rated['ratings'];
    }

例如在posts_id=7

我希望5 + 4 = 9

但我的代码完全是54 + 54

如何修复此代码?

1 个答案:

答案 0 :(得分:0)

对于更新的问题,此代码应该可行。我们可以使用sum()函数。点击sum() function

$Rate = $conn->query("SELECT sum(ratings) as ratings FROM mytable WHERE posts_id=7");

while ($Rated = $Rate->fetch_array()) {
    echo $Rated['ratings'];
}
相关问题