SUM()在MySQL中不起作用:具有DISTINCT的SUM()

怀疑

我有4个表格,分别称为商店,用户,评论和评分。

我想获得相应商店的所有评论,包括已审查的用户详细信息以及该商店的总体评价。

我几乎完成了单个查询。但是问题在于,如果同一用户多次对该商店进行相同的评级,则将其视为单一评级。但是那个评分是正确的。

在此处输入图片说明

在此表中,user_id 3被评为shop_id 1 4次。因此计数为4,total_rating为17。

我的查询是

select review.comments, users.username, count(distinct rating.id) as rating_count,
sum(distinct rating.rating) as total_rating from users 
left join review on users.id = review.user_id and review.shop_id='1' 
left join rating on users.id = rating.user_id and rating.shop_id='1' 
where review.shop_id='1' or rating.shop_id='1' 
group by users.id, review.user_id, rating.user_id, review.id

当我运行此查询时,我得到了

在此处输入图片说明

但是我需要为user_id 3提供total_rating 17。

检查这个小提琴

苏宾·查利尔

你把DISTINCTINsum( rating.rating) as total_rating,这就是为什么结果(12 = 17-5),因为它包含5只一次,而计算总和。

 select review.comments, review.user_id, count(distinct rating.id) as rating_count,
    sum( rating.rating) as total_rating from users 
    left join review on users.id = review.user_id and review.shop_id='1' 
    left join rating on users.id = rating.user_id and rating.shop_id='1' 
    where review.shop_id='1' or rating.shop_id='1' 
    group by users.id, review.user_id, rating.user_id, review.id

这是SQLFiddle

样本输出:在此处输入图片说明希望这会有所帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP MySQL SELECT SUM 不起作用

Sum在php mongodb中不起作用

在mongomock中的聚合中的$ sum似乎不起作用

行轴的np.sum在Numpy中不起作用

sum 函数在 group by 和聚合函数中不起作用

SUM和COUNT在复杂的SQL查询中不起作用

为什么python中的sum函数不起作用?

Cakephp 3中的SUM查询不起作用

SUM(列)/ COUNT(列)在Excel PivotTable中不起作用

DISTINCT关键字在mysql查询中不起作用

为什么min / max / sum(c(NA,4,5),na.rm =“ xyz”)起作用,而具有相同输入的mean()却不起作用?

Excel SUM()公式不起作用

为什么sum()在此dplyr表达式中起作用而Quantile()却不起作用?

具有mysql-check选项的HAProxy,不起作用

MySQL具有相关查询的Having子句不起作用

select,distinct在sailsjs中不起作用

总计具有Match的项目在mongodb中不起作用

具有AutoLayout的UICollectionViewCell在iOS 10中不起作用

如果null(SUM CASE)不起作用,则将MySQL设置为0

损失函数仅对reduce_mean有效,而对reduce_sum不起作用

尝试使用带有SUM函数的INNER JOIN和GROUP BY SQL,不起作用

带有DATE和COLUMN函数的SUM PRODUCT不起作用-为什么不呢?

具有非动态输入字段的动态输入字段插入到两个 mysql 表中不起作用

COALESCE(SUM(...),0)COALESCE(COUNT(...),0)在我的代码中不起作用

Sum() 函数在 Room 数据库 android 中不起作用

为什么 =SUM() 函数对 Google Sheet 中查询传输的数字不起作用

Pandas.DataFrame.sum(轴= 1)不起作用

python group by 与 sum 和 count 同时不起作用

多个LEFT JOIN在SUM()上不起作用