📜  PostgreSQL LIMIT子句

📅  最后修改于: 2020-11-30 09:02:47             🧑  作者: Mango

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;

注意:这是SELECT命令的选择子句,它使查询返回几行。

如果我们使用ORDER BY子句将行顺序与LIMIT子句一起使用。或者,如果不使用ORDER BY子句,则可能会得到带有未命名行顺序的输出。

PostgreSQL LIMIT的例子

让我们看一些例子来理解PostgreSQL LIMIT子句的工作。

这里我们创建一个名为CAR的帮助下新表CREATE表命令,并使用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排序的第一个SIX CAR详细信息。

SELECT Car_id, Car_name, Body_Style
FROM CAR
ORDER BY Car_id
LIMIT 6;

实施上述命令后,我们将获得以下输出,该输出将前六个-car详细信息显示在CAR表中。

使用PostgreSQL LIMIT子句获取顶部和底部行的示例

为了从表中选择具有最大值或最小值的行,我们经常使用LIMIT子句。

例如,如果我们想的五大最昂贵的汽车在其价格方面排序,我们在您可以按照自己的爱车价格降序排列。

在以下命令中,我们使用LIMIT子句将最昂贵的汽车放入CAR表:

SELECT Car_id, Car_name, Car_Price
FROM CAR
ORDER BY Car_Price desc
LIMIT 5 ;

输出量

执行完以上命令后,我们将得到以下输出:

使用PostgreSQL LIMIT子句的OFFSET示例

在此示例中,我们将使用LIMIT和OFFSET子句在以下命令的帮助下从Car_id订购的第五辆车中获得五辆车:

SELECT Car_id, Car_name, Body_Style
FROM CAR
ORDER BY Car_id
LIMIT 5 OFFSET 2;

输出量

实施上述命令后,我们将获得以下输出,当我们将偏移设为2并将极限值设为5到CAR表中时,将显示Car_id = 1003中的汽车。