Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得MySQL中的平均列数?_Mysql_Sql - Fatal编程技术网

如何获得MySQL中的平均列数?

如何获得MySQL中的平均列数?,mysql,sql,Mysql,Sql,我的数据库中有一个名为rating的表: id user_id rating 1 2 5 2 3 5 3 1 2 4 1 1 5 1 5 6 2 4 关键是我不知道确切的条目数量。它可以是100个条目,也可以是4个条目。 例如,当我想知道user_id=1的用户的平均评分时,我应该在SQL语句中做什么 我有一个已知参数$user\u id来

我的数据库中有一个名为
rating
的表:

id   user_id    rating

1    2          5
2    3          5
3    1          2
4    1          1
5    1          5
6    2          4
关键是我不知道确切的条目数量。它可以是100个条目,也可以是4个条目。 例如,当我想知道
user_id=1
的用户的平均评分时,我应该在SQL语句中做什么

我有一个已知参数
$user\u id
来获取每个用户的评分

假设
user_id=1
的平均评分是
2.6
我有一个问题,因为我需要将它四舍五入到下一个更高的数字,即3

这对我来说太复杂了。我在这里试过,但不起作用:

$total_rating = SELECT COUNT(*) FROM rating WHERE user_id = $user_id
$rating = what know?
我的SQL不是很好,所以如果你能帮助我,我将非常感激

SELECT ROUND(AVG(rating)) AS 'Average Rating'
FROM rating
WHERE user_id = '$user_id';
那就够了

那就够了

ceil(平均(评级))
,而不是
count(*)
。只需使用
从user\u id=$user\u id
的评级中选择ceil(平均(评级))。这将为您提供所需。
ceil(平均(评级))
,而不是
count(*)
。只需使用
从user\u id=$user\u id
的评级中选择ceil(平均(评级))。那会给你你需要的。