我在我们的应用程序中看到ORDER BY在Mysql命令中添加了DESC LIMIT 我不知道ORDER BY的手段是否已添加到DESC LIMIT 那么什么是ORDER BY添加到DESC LIMIT
答案 0 :(得分:2)
这意味着结果将按名称addedOn
的列按降序排序,并且返回的行数将限制为单词LIMIT
后显示的数字。
答案 1 :(得分:2)
这是按addOn的降序排序,然后将结果限制为LIMIT后的行数。
限制的定义来自here
可以使用LIMIT子句 约束返回的行数 通过SELECT语句。 LIMIT需要 一个或两个数字参数,其中 必须都是非负整数 常数(使用时除外) 语句)。
使用两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为0(不是1):
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15
要从特定偏移量检索所有行直到结果集的末尾,可以使用一些大数字作为第二个参数。此语句检索从第96行到最后一行的所有行:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
使用一个参数,该值指定从结果集开头返回的行数:
SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows
换句话说,LIMIT row_count相当于LIMIT 0,row_count。 对于预准备语句,您可以使用占位符(从MySQL 5.0.7版开始支持)。以下语句将从tbl表中返回一行:
SET @a=1;
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?';
EXECUTE STMT USING @a;
以下语句将返回tbl表中的第二行到第六行:
SET @skip=1; SET @numrows=5;
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?, ?';
EXECUTE STMT USING @skip, @numrows;
为了与PostgreSQL兼容,MySQL还支持LIMIT row_count OFFSET偏移语法。
如果LIMIT在子查询中发生并且也在外部查询中应用,则最外面的LIMIT优先。例如,以下语句生成两行,而不是一行:
(SELECT ... LIMIT 1) LIMIT 2;