`
lin213_213
  • 浏览: 78469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

row_number() over(partition by name order by id)

阅读更多

一个表中,主键不同,其实字段相同,现在实现只取一个记录的方法:

 

select * from (
    select t.*,row_number() over(partition by name order by id) rn
from t t
)

where rn=1

 

row_number() OVER (PARTITION BY name ORDER BY id) rn 表示根据name分组,在分组内部根据 id排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).

 

  • 大小: 1.5 KB
分享到:
评论

相关推荐

    row_number,根据多个字段过滤,partition by

    SELECT t.*, ROW_NUMBER() OVER (PARTITION BY name || idNumber || TO_CHAR(date, 'YYYYMMDD') ORDER BY id) AS rn FROM teacher t ) subquery WHERE rn = 1; ``` - **PARTITION BY** 子句中的`name || idNumber...

    SQLServer中Partition By及row_number 函数使用详解

    SELECT *, ROW_NUMBER() OVER(PARTITION BY corp_name ORDER BY submit_time DESC) AS row_num FROM your_table ``` 这段SQL将返回一个新的列 `row_num`,它在每个 `corp_name` 分区内按 `submit_time` 的降序排列...

    row_number.rar_SQL中row_number用法_number

    SELECT ROW_NUMBER() OVER (ORDER BY column_name(s)) AS row_num, other_columns FROM table_name; ``` 其中,`OVER`子句定义了排序的逻辑窗口,`ORDER BY`子句则指定排序的依据。`column_name(s)`是你想要按照...

    sqlserver巧用row_number和partition by分组取top数据

    ROW_NUMBER() OVER (PARTITION BY column_name(s) ORDER BY column_name(s)) ``` 在这个增强的语法中,`PARTITION BY` 子句根据指定的列将数据集分割成多个子集,然后在每个子集中独立地应用 `ORDER BY` 子句来确定...

    SQL中row-number函数用法

    ROW_NUMBER() OVER ( [PARTITION BY partition_expression, ...] ORDER BY order_by_expression [ASC | DESC], ... ) ``` - **PARTITION BY**:可选参数,用于指定分组字段。当指定了这个参数时,`row_number()` 将...

    SQL中的ROW NUMBER() OVER()

    原始数据展示 一:SQL展示 select id,name,age,salary,row_number()over(order by ...select id,name,age,salary,row_number()over(partition by id order by salary desc) rkfrom TEST_ROW_NUMBER_OVER tSQL语句后

    sqlserver2005使用row_number() over分页的实现方法

    ROW_NUMBER() OVER (ORDER BY a.CreateTime DESC) AS RowNumber FROM table_name AS a ) SELECT * FROM CTE WHERE RowNumber BETWEEN @startIndex AND @endIndex ORDER BY RowNumber; ``` 在这个例子中,`CTE`...

    SQL中distinct 和 row_number() over() 的区别及用法

    SELECT name, age, ROW_NUMBER() OVER(PARTITION BY age ORDER BY name) AS row_num FROM table_name; ``` 综上所述,`DISTINCT`和`ROW_NUMBER() OVER()`在SQL中各有其独特的作用,前者用于简单去重,后者用于更...

    oracle中rownum和row_number()

    SELECT ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col2) AS row_num, col1, col2 FROM table; ``` 上述查询将为 `col1` 相同的所有行创建一个分区,然后在每个分区内部按 `col2` 排序,并分配行号。这使得 `...

    SqlServer2005中使用row_number()在一个查询中删除重复记录的方法

    在本例中,我们使用 `PARTITION BY` 子句按 `Id`、`Name`、`Age` 和 `Sex` 进行分区,这意味着在每个唯一的 `Id`、`Name`、`Age` 和 `Sex` 组内重新开始计数。`ORDER BY` 子句用于定义行号的排序方式,这里我们按照 ...

    利用ROW_NUMBER() OVER函数给SQL数据库中每一条记录分配行号的方法

    SELECT ROW_NUMBER() OVER(ORDER BY id) as rowNum, * FROM 表名称; ``` 这个查询将返回一个新的结果集,其中包含一个名为rowNum的新列,列中的值是根据id字段排序后的行号,以及原始表的所有列。查询结果如下: ``...

    Greenplum窗口函数总结1

    ROW_NUMBER() OVER (PARTITION BY dept_id ORDER BY salary DESC) AS row_num FROM test13 ) SELECT dept_id, emp_name, salary FROM ranked_salaries WHERE row_num = 1; ``` #### 三、`row_number over` 窗口...

    hive分析函数

    ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name) 例如,我们可以使用 ROW_NUMBER 函数对数据进行排序,并返回每行数据的行号: SELECT cookieid, createtime, pv, ROW_NUMBER() OVER...

    SQL 获取顺序号的四种方法 IDENTITYRANKDENSE RANKROW NUMBER

    SELECT name, score, ROW_NUMBER() OVER (PARTITION BY name ORDER BY score) AS tt FROM t; ``` ROW_NUMBER 函数可以根据指定的列进行排名,并且可以生成一个唯一的排名列,例如,如果有两个相同的排名,ROW_NUMBER...

    oracle字段去重

    SELECT ROW_ID, ROW_NUMBER() OVER (PARTITION BY COLUMN_NAME ORDER BY SOME_COLUMN) AS RN FROM TABLE_NAME ) WHERE RN > 1 ); ``` **说明:**上述示例首先确定了哪些行的行号大于1(即非首行),然后删除...

    SQL中Group分组获取Top N方法实现可首选row_number

    select no = row_number() over (partition by city order by addtime desc), * from products ) t where no order by city asc, addtime desc ``` 2. **Cross Apply方法**: Cross Apply用于将一个查询的...

    SqlServer 2005中使用row_number()在一个查询中删除重复记录

    SELECT Row_Number() OVER (PARTITION BY [ID], [Name], [Age], [Sex] ORDER BY [ID]) AS RowNumber, * FROM #Temp ) T WHERE T.RowNumber > 1; ``` 在这个查询中,`PARTITION BY [ID], [Name], [Age], [Sex]`将...

Global site tag (gtag.js) - Google Analytics