mysql限制范围

lyr7nygr  于 2021-06-20  发布在  Mysql
关注(0)|答案(5)|浏览(194)
SELECT name FROM mydb ORDER BY score DESC LIMIT 10;

上面的查询将返回前10个等级。
如何修改 LIMIT ,或者是否有其他语法可以查询第10列到第20列?

yhqotfr8

yhqotfr81#

您应该使用:

SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10;

http://dev.mysql.com/doc/refman/5.5/en/select.html
两个参数10,10是(偏移量,限制),因此这将检索第11-20行。
9,11将被要求获得第10-20级。

disbfnqx

disbfnqx2#

使用 offset 澄清问题。

SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10
lstz6jyr

lstz6jyr3#

SET @rank = 0;
SELECT rank, name, score
FROM (
    SELECT @rank := @rank +1 AS rank, name, score
    FROM mydb
    ORDER BY score DESC 
    LIMIT 100 
) X
WHERE rank >= 10;
enxuqcxy

enxuqcxy4#

limit还有一个offset参数

SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10
kqhtkvqz

kqhtkvqz5#

可以使用偏移量

SELECT name FROM mydb ORDER BY score DESC LIMIT 10 OFFSET 10

在这里,偏移量表示下一个10个数据将显示的位置。
您也可以使用以下方法:

SELECT name FROM mydb ORDER BY score DESC LIMIT 10, 10

相关问题