sql查询与Row_Number不同

objectWithoutClass

我正在与中的unique关键字作斗争sql我只想distinct在列&中显示唯一()值的所有行号,所以我尝试了:

SELECT distinct id, ROW_NUMBER() OVER (ORDER BY  id) AS RowNum
                             FROM table
                             where fid = 64

但是下面的代码给了我这些distinct值:

SELECT distinct id FROM table where fid = 64

但是当尝试使用Row_Number
那就行不通了。

Xanatos

用这个:

SELECT *, ROW_NUMBER() OVER (ORDER BY id) AS RowNum FROM
    (SELECT DISTINCT id FROM table WHERE fid = 64) Base

并将查询的“输出”作为另一个查询的“输入”。

使用CTE:

; WITH Base AS (
    SELECT DISTINCT id FROM table WHERE fid = 64
)

SELECT *, ROW_NUMBER() OVER (ORDER BY id) AS RowNum FROM Base

这两个查询应该是等效的。

从技术上讲,您可以

SELECT DISTINCT id, ROW_NUMBER() OVER (PARTITION BY id ORDER BY id) AS RowNum 
    FROM table
    WHERE fid = 64

但是如果您增加DISTINCT字段的数量,则必须将所有这些字段都放在中PARTITION BY,例如

SELECT DISTINCT id, description,
    ROW_NUMBER() OVER (PARTITION BY id, description ORDER BY id) AS RowNum 
    FROM table
    WHERE fid = 64

我什至希望您理解这里要违背标准命名约定,它id应该是主键,因此按定义是唯一的,因此DISTINCT它对它没有用,除非您将查询与某些JOINs /耦合在一起UNION ALL

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何避免使用row_number嵌套SQL查询

来自分类Dev

SQL row_number() with conditions

来自分类Dev

ROW_NUMBER()SQL错误

来自分类Dev

Row_Number()在联合查询中继续

来自分类Dev

Microsoft Access查询重复ROW_NUMBER

来自分类Dev

在linq查询中创建Row_Number

来自分类Dev

Row_Number()在联合查询中继续

来自分类Dev

Microsoft Access查询重复ROW_NUMBER

来自分类Dev

将具有row_number的SQL查询转换为AR代码

来自分类Dev

访问查询,在T-SQL中产生类似ROW_NUMBER()的结果

来自分类Dev

访问查询,在T-SQL中生成类似ROW_NUMBER()的结果

来自分类Dev

重写没有 Row_Number 的 SQL 查询,以便它可以映射到 Hibernate

来自分类Dev

SQL Server ROW_NUMBER()问题

来自分类Dev

SQL Server ROW_NUMBER()问题

来自分类Dev

在SQL中对Row_Number进行排名

来自分类Dev

T-SQL 中的 row_number()

来自分类Dev

向特定实体的LINQ查询添加ROW_NUMBER?

来自分类Dev

在带条件的删除查询中获取row_number

来自分类Dev

Oracle_ ROW_NUMBER 用于分页层次结构查询

来自分类Dev

在子查询中使用 ROW_NUMBER() OVER()

来自分类Dev

如何在SQL查询中的内部联接和case语句上应用by by和row_number()进行分区

来自分类Dev

DB2 SQL0255-尝试使用JOIN用户ROW_NUMBER时不支持查询功能

来自分类Dev

读取row_number

来自分类Dev

ROW_NUMBER 性能

来自分类Dev

如何获得Spark RDD的等效SQL row_number?

来自分类Dev

Spark SQL Row_number()分区按排序方式描述

来自分类Dev

最近在分区上使用row_number()的SQL

来自分类Dev

MS Access替代SQL函数ROW_NUMBER()

来自分类Dev

使用SQL使用Row_Number()使用行号更新表