如何解决无法在GROUP_CONCATdistinct..中添加限制
SELECT
quiz.id AS quizId,quiz.name AS quizName,GROUP_CONCAT(distinct(quiz_attempt.quiz_attempt_status)
ORDER BY quiz_attempt.id DESC limit 1) AS quizAttemptStatus
FROM
course
LEFT JOIN
quiz ON quiz.id = course.quiz
LEFT JOIN
quiz_attempt ON quiz_attempt.quiz = quiz.id
WHERE
(course.id = 'courseId'
AND quiz_attempt.user = 'userId' )
GROUP BY quiz.id,quiz_attempt.id
当我在GROUP_CONCAT(distinct(...))内添加限制时,它不起作用,我希望对课程中的每个测验进行最新尝试。怎么做?
解决方法
尝试使用行号,然后仅获取第一个行号?
ROW_NUMBER() OVER (
[PARTITION BY partition_expression,... ]
ORDER BY sort_expression [ASC | DESC],...
)
还可以在此处查看更多信息: https://www.sqlservertutorial.net/sql-server-window-functions/sql-server-row_number-function/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。