Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据表中的行号显示数据_Sql_Postgresql - Fatal编程技术网

Sql 根据表中的行号显示数据

Sql 根据表中的行号显示数据,sql,postgresql,Sql,Postgresql,我有下表,一些动物有超过10行的数据。对于特定的动物,请按“如何显示特定行”键。在我们的示例中,让我们假设第2行 您可以尝试在此处使用row_number,并对动物进行分区,并根据pcnt列进行降序 你认为绿色记录是第二个记录的逻辑是什么?你需要告诉Postgres一个顺序。数据按降序显示。用户给出了一个随机值整数值,需要将该记录的值拉出。应指定主键/唯一键以唯一地选择一行…Animals_键和Soc_代码充当主键和外键Animals_键,Soc_代码不能是主键,因为结果中明显存在重复项。为什么

我有下表,一些动物有超过10行的数据。对于特定的动物,请按“如何显示特定行”键。在我们的示例中,让我们假设第2行

您可以尝试在此处使用row_number,并对动物进行分区,并根据pcnt列进行降序


你认为绿色记录是第二个记录的逻辑是什么?你需要告诉Postgres一个顺序。数据按降序显示。用户给出了一个随机值整数值,需要将该记录的值拉出。应指定主键/唯一键以唯一地选择一行…Animals_键和Soc_代码充当主键和外键Animals_键,Soc_代码不能是主键,因为结果中明显存在重复项。为什么该表没有一个主键可以让您唯一地标识每一行?
select
    t.soc_code,
    t.animals_key,
    t.breed,
    t.pcnt,
    t.create_method,
    t.create_date,
    t.create_user_id
from
(
    select t.*, row_number() over (partition by animals_key order by pcnt desc) rn
    from your_table t
    where animals_key = 211004650
) t
where t.rn = 2;