gpt4 book ai didi

mysql - 仅当字段已填充且与其他字段值相同时才计数

转载 作者:行者123 更新时间:2023-11-29 15:59:24 24 4
gpt4 key购买 nike

我有一个关于我想要进行的 SQL 查询的问题。假设我有一个列,表中包含以下值:学校,列:成绩。

 SUI grades | Score
2 9 2
2 9
5 4 1
5 4 1
5 4
6 1 1
6 1

和表 Grade_scores

id      score_1   score_2
1 4 1

现在我不想要一个输出,它对计算成绩的 SUI 进行分组,如果分数已填写school.grades 为 <与 Grade_scores.score_1Grade_scores.score_2 相同。所以我的输出将是:

SUI Count 
5 2
6 1

到目前为止的代码...

SELECT SUI, Count(Grades)
FROM mytable
WHERE Score <> ''
GROUP BY SUI

最佳答案

您需要JOIN您的schoolgrade_scores表中的grades中的两个值>成绩分数:

SELECT s.SUI, COUNT(s.grades) AS `Count`
FROM grade_scores gs
JOIN school s ON s.Score IS NOT NULL AND s.grades IN (gs.score_1, gs.score_2)
GROUP BY s.SUI

输出:

SUI Count
5 2
6 1

Demo on dbfiddle

注意 此查询假定 Score 列中的空值为 NULL。如果它们是空字符串,请将 s.Score IS NOT NULL 替换为 s.Score != ''

关于mysql - 仅当字段已填充且与其他字段值相同时才计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56303921/

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