LIMIT 使用
LIMIT 表达式允许用户限制查询结果集中的行数。例如:
SELECT contact_id, last_name, first_name
FROM contacts
WHERE website = 'TechOnTheNet.com'
ORDER BY contact_id DESC
LIMIT 5;
将从“联系人”表中选择网站为 TechOnTheNet.com 的前 5 条记录。请注意,结果是按 contact_id 降序排列的,这意味着将返回 5 个最大的 contact_id 值。如果“联系人”表中还有其他网站值为 TechOnTheNet.com 的记录,则不会返回。
如果我们想要选择 5 个最小的 contact_id 值,而不是最大的,我们可以按如下方式更改排序顺序:
SELECT contact_id, last_name, first_name
FROM contacts
WHERE website = 'TechOnTheNet.com'
ORDER BY contact_id ASC
LIMIT 5;
这里结果将按照 contact_id 升序排列。因此,该查询将返回网站为 TechOnTheNet.com 的前 5 个 contact_id 最小的记录,不会返回其他任何记录。
带偏移量的限制
尽管 SmartESQL 不支持 OFFSET 关键字,但可以通过 LIMIT 表达式实现偏移量功能的概念。例如:
SELECT... FROM table LIMIT M,N;
将从第 M 行(M 从 0 开始计数)开始选择 N 条记录;换句话说,跳过结果集中的 M 行。因此
SELECT... FROM table LIMIT 0,N;
等同于:
SELECT... FROM table LIMIT N;