postgreSQL获取超出搜索限制的行的索引
我是SQL新手,我不知道如何正确搜索我的问题,所以我将在这里提问 在这个例子中有6行,我限制我的搜索从第一个索引开始,最多给我2行。但是,我想知道id为1的行的索引 当我使用SQLFIDLE中描述的查询时,它会显示id为5和23的行。但它不包括id为1的行。但是,我需要知道id为1的行的索引 上面的链接打印出所有的行,我们可以看到索引3中有一行包含id 1 但是,我需要知道索引,而不需要询问整个数组 为什么这很重要?好吧,假设我们有一百万行。如果我要求一百万行,那就意味着分配一百万个数组。我可以解析数组,直到找到要查找的id为止。然而,分配100万美元的费用太高了 例如,假设我要查找的行位于索引26中,但我进行查询时,它从索引0开始,限制为10。我从这个查询中得到的数组不包含索引26。然而,我仍然需要知道,它是在索引26 所以这个神奇的查询会给我两件事: 排序行的前十行 指定id的索引,例如id为1,而不考虑其在列表中的位置。 这是一个可能的问题吗 澄清: 我用索引这个词来表示行号。 如果我们从数据库中查询名称列表,我们可以得到如下结果: bob frank dawn 然后鲍勃在指数0,弗兰克在指数1,道恩在指数2 如果我按名称ASC排序,那么名称列表将变为 bob dawn frank bob是索引0,frank是索引1,frank是索引2postgreSQL获取超出搜索限制的行的索引,sql,postgresql,Sql,Postgresql,我是SQL新手,我不知道如何正确搜索我的问题,所以我将在这里提问 在这个例子中有6行,我限制我的搜索从第一个索引开始,最多给我2行。但是,我想知道id为1的行的索引 当我使用SQLFIDLE中描述的查询时,它会显示id为5和23的行。但它不包括id为1的行。但是,我需要知道id为1的行的索引 上面的链接打印出所有的行,我们可以看到索引3中有一行包含id 1 但是,我需要知道索引,而不需要询问整个数组 为什么这很重要?好吧,假设我们有一百万行。如果我要求一百万行,那就意味着分配一百万个数组。我可以
我希望这能让事情变得更清楚。如果需要行数,请使用行数功能:
SELECT *
FROM (SELECT ud.id, ud.team_name, ui.name, ui.date_created,
row_number() over (order by ui.name, ui.id) as rownumber
FROM user_data ud JOIN
user_infos ui
ON ui.id = ud.id
WHERE ui.date_created BETWEEN NOW() - INTERVAL '1 year' AND NOW()
) t
WHERE rownumber <= 10 or id = 1;
如果希望它们按顺序排列,只需将order by rownumber添加为最后一条语句。索引是什么意思?“你没有那个名字的专栏。@戈登林诺夫我在问题的底部做了澄清。请看