gpt4 book ai didi

mysql - 难以获取前 3 名学生的详细信息 谁迟到了

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

实际上,我需要那 3 名比其他人上课迟到的学生的详细信息。

例如有 20 名学生,但每个学生都迟到了,例如:

  • a 迟到了 3 次
  • b 迟到了 5 次
  • c 在第 10 名学生之前迟到了 7 次。

所以我只需要迟到的前 3 名学生的详细信息。

我正在使用显示此错误的查询:

    GROUP BY `Date`
)

[Err] 1111 - Invalid use of group function

查询:

SELECT
*
FROM
student
WHERE
ID IN
(
SELECT
MAX( COUNT( SID ) )
FROM
attendance
WHERE
`Status`='Late'
GROUP BY
`Date`
)

据我所知,我使用最大值和计数的方式是错误的,请告诉我如何使用它,或者是否有人为我编写正确的查询,这有助于我获得正确的前 3 名学生记录。谢谢

Student Table

Attendance Table

最佳答案

如果您不关心学生迟到的日期,那么:

SELECT
student.*,
lateAttendanceOccurrencesBySid.*
FROM
(
SELECT
`sid`,
COUNT(*) AS occurrences
FROM
attendance
WHERE
`status` = 'Late'
GROUP BY
`sid`
) AS lateAttendanceOccurrencesBySid

INNER JOIN student ON student.id = lateAttendanceOccurrencesBySid.sid

ORDER BY
lateAttendanceOccurrencesBySid.occurrences DESC

LIMIT
3

关于mysql - 难以获取前 3 名学生的详细信息 谁迟到了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57837304/

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