mysql - sql根据列值限制行数

标签 mysql

我是 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/

相关文章:

php - 无法显示来自 MySQL 表的图像

PHP/FORM问题

php - 返回MYSQL表中所有列字段的名称

php - PHP的MySQL的 undefined index 错误

mysql - MySQL中选定的日期间隔

php - 表单无法更新 mysql 表

mysql - 用于显示记录的 SQL 查询

php - 如何基于表格添加自定义列 - Laravel

php - 从 mysql 中检索数据并相应地更新它们

mysql 比较两个表以查找匹配的记录