我是 SQL 新手。我想根据特定表格的单元格值限制选择的学生。
例如。以下作品
SELECT st.sid, st.sname, st.marks
FROM student st, subjectcombinations sc
WHERE st.scode = sc.scode
LIMIT 10
但不是硬编码 10 作为限制,我该如何使用类似下面的内容
SELECT st.sid, st.sname, st.marks
FROM student st, subjectcombinations sc
WHERE st.scode = sc.scode
LIMIT (SELECT intakecapacity FROM subjectcombinations);
最佳答案
试试这个:
SELECT st.sid, st.sname, st.marks, @row := @row + 1
FROM student st, subjectcombinations sc, (select @row := 0) a
WHERE st.scode = sc.scode
AND @row <= (SELECT intakecapacity FROM subjectcombinations);
这是一个例子 SQL Fiddle .
请注意,您需要使用 ORDER BY
,使用 LIMIT
而不使用 ORDER BY
将毫无意义。
关于mysql - sql根据列值限制行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42879042/