标签: row-number

如何从具有特定行号的表中删除或选择行?

我有一个关于Microsoft SQL Server 2005的问题.如何从具有特定行号的表中删除或选择行?

t-sql sql-server-2005 row-number

2
推荐指数
1
解决办法
697
查看次数

Oracle分页:分析函数ROW_NUMBER()VS ROWNUM

当需要在网站上完成分页时...哪种方法表现更好?

分析函数 - ROW_NUMBER()

ROWNUM

oracle paging pagination row-number rownum

2
推荐指数
1
解决办法
2万
查看次数

在Postgres中为每个用户选择每个第N行

我正在使用这个SQL语句:

SELECT "dateId", "userId", "Salary" 
FROM (
   SELECT *, 
          (row_number() OVER (ORDER BY "userId", "dateId"))%2 AS rn 
   FROM user_table
 ) sa 
 WHERE sa.rn=1 
   AND "userId" = 789 
   AND "Salary" > 0;
Run Code Online (Sandbox Code Playgroud)

但是每次表获取新行时,查询的结果都不同.
我错过了什么吗?

sql postgresql select row-number window-functions

2
推荐指数
1
解决办法
3914
查看次数

SQL ROW_NUMBER()问题与分页

我使用ROW_NUMBER()函数从数据库表中获取50个50项.
@From参数是从中开始抓取50行的行.(第一次为1的是51101151等)
我传递参数@CityId到存储过程,如果第一行60中的数据库是cityId=1cityId = 2是在排61这个存储过程不返回结果.
但是,如果我通过@From参数51而不是返回结果.我在这里做错了什么?

SELECT  RowConstrainedResult.*
FROM    ( SELECT    ROW_NUMBER() OVER 
( ORDER BY f.ItemCreatedOnDate DESC ) AS RowNum, 
f.*
FROM (
SELECT
      t.ItemIdId,
      t.ItemTypeId,
      t.CreatedOnDate as ItemCreatedOnDate,
      t.CityId as CityId
FROM   dbo.Items    as t
) f) AS RowConstrainedResult
WHERE   RowNum >= @From
    AND RowNum < @From + 50
    AND CityId = @CityId
Run Code Online (Sandbox Code Playgroud)

sql t-sql database sql-server row-number

2
推荐指数
1
解决办法
2820
查看次数

regexp_split_to_table和row_number

我有这样的表与字符串数据:

id | string_data
1  | red;green;blue
2  | orange
3  | purple;cyan
Run Code Online (Sandbox Code Playgroud)

我需要将字符串数据拆分为具有行号的项目:

id | num | item
1  | 1   | red
1  | 2   | green
1  | 3   | blue
2  | 1   | orange
3  | 1   | purple
3  | 2   | cyan
Run Code Online (Sandbox Code Playgroud)

我知道regexp_split_to_table(),但是将它与row_number()结合使用存在问题。有人知道如何解决这个问题吗?谢谢!

postgresql split row-number

2
推荐指数
2
解决办法
3070
查看次数

Row_Number 与 Teradata GROUPBY

我正在尝试ROW_NUMBER()使用下面的结果集确定如何将函数与 TERADATA 一起使用。这是我尝试过的:

select col1, col2, ROW_NUMBER() OVER (ORDER by col2  ) 
    FROM
     (select col1, col2 
    from TABLE
    ORDER BY col2) A
Run Code Online (Sandbox Code Playgroud)

结果集

38  11/14/2016  1
38  11/15/2016  2
38  11/16/2016  3
38  11/17/2016  4
38  11/18/2016  5
38  11/19/2016  6
39  11/20/2016  7
39  11/21/2016  8
39  11/22/2016  9
39  11/23/2016  10
39  11/24/2016  11
39  11/25/2016  12
Run Code Online (Sandbox Code Playgroud)

预期的:

Col1    Col2    Col3
38  11/14/2016  1
38  11/15/2016  1
38  11/16/2016  1
38  11/17/2016  1
38  11/18/2016  1 …
Run Code Online (Sandbox Code Playgroud)

sql row-number teradata

2
推荐指数
1
解决办法
5101
查看次数

Oracle sql 中的 rownum 与 group by

我需要构建一个查询以按成员和到期日期检索信息组,但我需要为每个成员提供一个序列号..

例如:

如果成员“A”有 3 条记录要过期,“B”只有 1 条记录,“C”有 2 条记录,我需要这样的结果:

号码会员有效期
 1 A 01/01/2020
 2 A 02/01/2020
 3 A 03/01/2020
 1 乙 01/01/2020
 1 C 01/01/2020
 2 C 02/01/2020

我现在的查询是:

SELECT ROW_NUMBER() OVER(ORDER BY TRUNC(EXPIRATION_DT) ASC) AS SEQUENCE, MEMBER_ID AS MEMBER, SUM(ACCRUALED_VALUE) - SUM(USED_VALUE) AS POINTS, trunc(EXPIRATION_DT) AS EXPDATE
FROM TABLE1
WHERE EXPIRATION_DT > SYSDATE AND  EXPIRATION_DT < SYSDATE + 90
GROUP BY MEMBER_ID, TRUNC(EXPIRATION_DT)
HAVING SUM(ACCRUALED_VALUE) - SUM(USED_VALUE) > 0
ORDER BY 4 ASC;
Run Code Online (Sandbox Code Playgroud)

但我不能“分组”序列号......现在的结果是:

序列记忆点日期
1 1-O 188 2018-03-01 …

oracle group-by date row-number

2
推荐指数
1
解决办法
1万
查看次数

表太大时ROW_NUMBER()失败

我正在使用Bigquery,因此我需要使用ROW_NUMBER()才能仅获取符合某些条件的第一行。

例:

select *except(rn)
from (
SELECT
  *,
  ROW_NUMBER() OVER (PARTITION BY id order by timedate desc) AS rn
FROM
 table
)
where rn = 1
Run Code Online (Sandbox Code Playgroud)

但是,查询将失败,因为表太大。如何在不耗尽资源的情况下应用此类逻辑?

sql row-number google-bigquery

2
推荐指数
1
解决办法
80
查看次数

使用 Left Join kql 获取行数?无法在当前上下文中调用函数“row_number”。详细信息:行集必须序列化

我有以下查询:

let p1 = pageViews | where url has "xxx";
p1
| join kind=inner (pageViews 
        | where  url !has "xxx")
on session_Id
| project timestamp1, session_Id1, url1, client_CountryOrRegion1, client_StateOrProvince1, client_City1, user_Id1 
Run Code Online (Sandbox Code Playgroud)

它确实获取来自某个提供商的用户,然后查看他们将访问哪些 URL。

我现在正在尝试了解我从该提供商那里获得了多少用户。

我可以这样做distinct session_Idcount但我想做的是添加两列,第一列用于特定的 session_id,然后在它更改时增加它,另一列用于增加发出的请求数。

IE

在此输入图像描述

试过

 let p1 = pageViews | where url has "project-management";
p1
| join kind=inner (pageViews 
        | where  url !has "project-management")
on session_Id
| project timestamp1, session_Id1, url1, client_CountryOrRegion1, client_StateOrProvince1, client_City1, user_Id1 
| extend Rank=row_number(1) 
Run Code Online (Sandbox Code Playgroud)

但它给了我

无法在当前上下文中调用函数“row_number”。详细信息:行集必须序列化

row-number azure-log-analytics kql

2
推荐指数
1
解决办法
2473
查看次数

为什么我们需要在row_number()中使用`order by`(按列名称排序)?

为什么我们应该在这个t-sql术语中使用"order by"替换短语:

row_number() over(order by column name)
Run Code Online (Sandbox Code Playgroud)

sql sql-server row-number sql-order-by

1
推荐指数
1
解决办法
6330
查看次数