gpt4 book ai didi

mysql - 如何在一个查询中使用 SUM 和 COUNT mysql

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:15 25 4
gpt4 key购买 nike

不确定这是否可能,但我有以下内容

SELECT SUM(rating) as rating FROM details WHERE client_id = '$id'

rating 列包含用户的个人评分 (1,2,3,4,5) 星。我需要将它们全部相加才能计算出平均值,但我还想知道用户获得的每个分隔符有多少颗星。

例如

用户有3条记录,评分为(3,4,3)。 3 条记录中有 10 条总和,我得到 3.3 的平均值。但我也想要

3 stars = 2
4 stars = 1

是否可以通过一个查询来完成此操作?

最佳答案

如果我答对了你的问题,你可以使用 AVG() 函数而不是 SUM()。

在下面的查询中,它会计算此client_id 的平均评分,并根据问题的要求计算每个星星的数量。

SELECT
AVG(rating) as rating,
COUNT(CASE WHEN rating=1 THEN 1 END) as star_1,
COUNT(CASE WHEN rating=2 THEN 1 END) as star_2,
COUNT(CASE WHEN rating=3 THEN 1 END) as star_3,
COUNT(CASE WHEN rating=4 THEN 1 END) as star_4,
COUNT(CASE WHEN rating=5 THEN 1 END) as star_5
FROM
details
WHERE
client_id = ID_HERE
GROUP BY
client_id

关于mysql - 如何在一个查询中使用 SUM 和 COUNT mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43927168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com