SQL将COUNT和AVG查询与SELECT结合使用

时间:2011-09-14 13:59:11

标签: mysql count average

我需要获得特定用户的平均评分和评分总数,然后选择所有单个评分(rating_value,rating_text,creator):

$rating_query = mysql_query("SELECT COUNT(1) as rating_count 
,AVG(rating_value), rating_value, rating_text, creator
FROM user_rating WHERE rated_user = $user_id");

此查询将返回每行的COUNT(1)结果和AVG(rating_value),但我只需要这些值一次。

有没有办法在不进行2次单独查询的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

可能有一个我不知道的技巧,但我不认为在单个查询中可以做到这一点。您可以尝试使用GROUP BY子句,如果这对您有意义,但我猜它可能不是您正在使用的列名称。任何关系在任何给定的行和列都需要单个原子值,即使该值为null。您要求的是每行中的第1列和第2列,但第一行没有值,我再也不认为这是可能的。