具有 sum distinct 和 if 的 MYSQL

MYSQL with sum distinct and if

提问人:wanna 提问时间:6/26/2023 更新时间:6/26/2023 访问量:18

问:

我有三张桌子。我在这里命名它的第一、第二和第三张桌子。

关系第一和第二表:一对多 关系第二和第三表:一对多

我需要根据第二个表进行计数,所以我使用以下语法:

COUNT(DISTINCT second.id_panel, IF(ind_presentation=1,1,NULL))

此 count 语句运行良好并产生正确的结果。

我还需要做 distinct 并使用 IF 语句,但用于 SUM 语句。以下为原文:SUM(IF(ind_presentation=2,second.mark,NULL))

但我仍然需要在声明中添加 distinct

SUM(DISTINCT second.id_panel, IF(ind_presentation=2,second.mark,NULL))

此语句引发错误。有什么方法可以在同一个语句中使用 distinct 和 IF 来表示 SUM?

如果我只连接第一个和第二个表,则无需执行 distinct,但我必须连接第三个表以总结该表中的其他标记。

先谢谢你。

mysql if-statement sum distinct

评论

0赞 Akina 6/26/2023
此语句引发错误。答案是肯定的。您有双重错误。1) 不支持 SUM(DISTINCT)。2) SUM() 不能接收两个参数。有什么方法可以在同一个语句中使用 distinct 和 IF 来表示 SUM?在 CTE/subquery 中应用 DISTINCT,然后在外部查询中应用 SUM()。

答: 暂无答案