【发布时间】:2020-12-07 12:52:29
【问题描述】:
我有许多具有唯一 ID 的购物者记录,在某些情况下存在具有相同 ID 的购物者,我想总结他们的 shoppable_rated 分数,并且只返回这些 ID 的 shoppable_rated 总和的 1 个结果,因此 ID 不会有重复的行,并且它们的总分将相加。请你能告诉我如何改变我的查询吗?我在尝试使用 HAVING 时遇到了一点困难,无法弄清楚。
非常感谢!
SELECT
id,
shoppable,
day,
case when shoppable in ('Good','Very Good','Amazing') then 1 else 0 end as shoppable_rated
FROM
shoppers
WHERE
shoppable != 'Unknown'
GROUP BY
id
ORDER BY
shoppable_rated DESC;
我的数据示例:
id, shoppable, day, shoppable_rated
1, Good, 26, 1
2, Very Good, 14, 1
3, Not Great, 3, 0
1, Bad, 16, 0
3, Amazing, 30, 1
【问题讨论】:
-
向我们展示一些数据以及该数据的预期结果。也请标记您的数据库
标签: sql sql-server many-to-one