gpt4 book ai didi

php - MySQL:查询设计问题

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

我的表格是这样的:

表一(学生)
Table 1

表2(结果)

Table 2

我想从表 1 students 中选择所有在 results 表中有 4 个结果的学生。我试过这个查询,但没有成功:

SELECT * 
FROM students
WHERE gender = 'm'
AND (SELECT COUNT( result ) AS count
FROM results
INNER JOIN students ON results.stuID = students.stuID
WHERE result !=0
) =4
ORDER BY rank ASC

最佳答案

您可以使用连接和 HAVING 子句重写您的查询来检查每个学生组的计数,这可以在不使用有时会影响性能的子查询的情况下完成

SELECT s.*,COUNT(*) AS count
FROM students s
INNER JOIN results r ON r.stuID = s.stuID
WHERE r.result !=0
GROUP BY s.stuID
HAVING count =4
ORDER BY s.rank ASC

关于php - MySQL:查询设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918668/

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