需要查询以根据条件从MySQL数据库中获取前N行

时间:2013-10-28 11:02:49

标签: mysql sql

我在MySQL中有一个表如下。

studentId  studentName status

这里studentId是学生的ID,名字是他/她的名字,状态是合格/不合格。我需要一个MySQL查询来根据学生已经通过的条件返回前N行。例如,如果表包含

0001  Sam   Pass
1190  Mary  Fail
2320  John   Pass
2536  Micheal  Pass
3010  Rose    Pass

并且要说n = 3 查询应该返回。

0001  Sam   Pass
2320  John   Pass
2536  Micheal  Pass

有没有办法在MySQL中实现。

3 个答案:

答案 0 :(得分:0)

使用limit ::

n 是您想要的行数

Select
* 
from 
student
limit n

答案 1 :(得分:0)

你可以这样做:

SELECT * FROM yourTable
WHERE `status` = "Pass"
LIMIT 3;

来自docs

  

LIMIT子句可用于约束返回的行数   通过SELECT语句。 LIMIT需要一个或两个数字参数,   必须都是非负整数常量(使用时除外)   准备好的陈述)。

     

使用两个参数,第一个参数指定的偏移量   第一行返回,第二行指定最大数量   要返回的行。初始行的偏移量为0(不是1)

在您的情况下,由于您只需要顶行,因此不需要两个参数。

答案 2 :(得分:0)

SELECT * FROM tablue wheq STATUS = 'Pass' LIMIT 0, 3

tablue是表名