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