PostgreSQL Limit分页
在本节中,我们将了解PostgreSQL LIMIT 子句的工作原理,该子句用于获取命令生成的行的子集。
PostgreSQL LIMIT 子句的语法
PostgreSQL LIMIT 子句的基本语法如下:
SELECT select_list
FROM table_name
ORDER BY sort_expression
LIMIT row_count
在上面的语法中,Limit 子句返回命令创建的row_count行。
- 如果row_count值为NULL,则查询将产生类似的结果,因为它不包含LIMIT子句。
- 或者,如果row_count为零,该语句将返回一个空集。
- 如果我们想在获取row_count行之前错过各种行,我们可以使用OFFSET 子句。
offset 子句位于LIMIT 子句之后,我们可以在下面的命令中看到:
SELECT select_list
FROM table_name
LIMIT row_count OFFSET row_to_skip;
如果我们使用 ORDER BY 子句来获得带有LIMIT子句的行顺序。或者,如果我们不使用 ORDER BY 子句,我们可能会得到一个未命名的行顺序的输出。
PostgreSQL LIMIT 示例
让我们看一些例子来理解PostgreSQL LIMIT 子句的工作原理。
在这里,我们在CREATE table命令的帮助下创建一个名为CAR的新表,并使用INSERT 命令将一些值插入到CAR表中。
Create table CAR
(
Car_id serial not null primary Key,
Car_name VARCHAR(50),
Car_Model VARCHAR(50),
Car_Price INTEGER,
Car_Color VARCHAR(20),
BODY_Style VARCHAR(30)
);
执行完上面的命令后,我们会看到下面的消息窗口,CAR表就创建成功了。
之后,我们将借助以下命令将一些值插入到CAR表中:
Insert into CAR
values (1001,'Acura', 'NSX', 47075, 'yellow','coupe'),
(1002,'Porche','911 Carrera', 399999, 'silver','coupe'),
(1003,'Nissan', 'Armada', 36777, 'blue','wagon'),
(1004,'Audi', 'A8', 63890,'black','sedan' ),
(1005, 'Volvo', 'XC90', 45845, 'gray','wagon'),
(1006,'BMW', 'M-Series', 108900,'red','coupe'),
(1007, 'Jaguar', 'XK', 91675, 'brown','convertible'),
(1008, 'Hummer', 'H1', 119999,'red','sedan'),
(1009, 'Mercedes-Benz','CLS Class', 86900, 'black', 'sedan'),
(1010, 'Suzuki', 'XL-7', 25880,'brown','wagon');
执行完上面的命令后,我们会看到下面的消息窗口,值已经成功插入到CAR表中了。
使用 PostgreSQL LIMIT 限制返回行数的示例
在下面的示例中,我们将在LIMIT 子句的帮助下获取按Car_id排序的前六辆 CAR详细信息。
SELECT Car_id, Car_name, Body_Style
FROM CAR
ORDER BY Car_id
LIMIT 6;
执行上述命令后,我们将得到以下输出,其中将前六辆汽车的详细信息显示到CAR表中。
使用 PostgreSQL LIMIT 子句获取顶部和底部行的示例
为了从表中选择具有最大值或最小值的行,我们经常使用LIMIT子句。
例如,如果我们想根据价格对前五名最昂贵的汽车进行排序,我们将按汽车价格降序排列。
在以下命令中,我们使用LIMIT 子句将最昂贵的汽车放入CAR表中:
SELECT Car_id, Car_name, Car_Price
FROM CAR
ORDER BY Car_Price desc
LIMIT 5 ;
执行上述命令后,我们将得到以下输出:
热门文章
优秀文章