繁体   English   中英

无法在 GROUP_CONCAT(distinct(..)) 中添加限制

[英]Not able to add limit in the GROUP_CONCAT(distinct(..))

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM