我需要获得特定用户的平均评分和评分总数,然后选择所有单个评分(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次单独查询的情况下执行此操作?
答案 0 :(得分:1)
可能有一个我不知道的技巧,但我不认为在单个查询中可以做到这一点。您可以尝试使用GROUP BY
子句,如果这对您有意义,但我猜它可能不是您正在使用的列名称。任何关系在任何给定的行和列都需要单个原子值,即使该值为null。您要求的是每行中的第1列和第2列,但第一行没有值,我再也不认为这是可能的。