相关疑难解决方法(0)

如何删除sql server中的重复行?

我怎么能unique row idunique row id存在?

我的桌子是

col1  col2 col3 col4 col5 col6 col7
john  1    1    1    1    1    1 
john  1    1    1    1    1    1
sally 2    2    2    2    2    2
sally 2    2    2    2    2    2
Run Code Online (Sandbox Code Playgroud)

我希望在重复删除后留下以下内容:

john  1    1    1    1    1    1
sally 2    2    2    2    2    2
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些查询,但我认为它们依赖于行ID,因为我没有得到理想的结果.例如:

DELETE
FROM table
WHERE col1 IN (
    SELECT id
    FROM table
    GROUP BY id
    HAVING (COUNT(col1) > 1)
)
Run Code Online (Sandbox Code Playgroud)

mysql sql duplicates sql-server-2008 sql-delete

379
推荐指数
12
解决办法
80万
查看次数

SQL RANK()与ROW_NUMBER()

我对这些之间的差异感到困惑.运行以下SQL会获得两个完美的结果集.有人可以解释一下这些差异吗?

SELECT ID, [Description], RANK()       OVER(PARTITION BY StyleID ORDER BY ID) as 'Rank'      FROM SubStyle
SELECT ID, [Description], ROW_NUMBER() OVER(PARTITION BY StyleID ORDER BY ID) as 'RowNumber' FROM SubStyle
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

172
推荐指数
4
解决办法
22万
查看次数

PostgreSQL 相当于 SQLite ROWID

使用 Postgresql 10 中新的 IDENTITY 类型,我想知道是否有类似于ROWIDSQLite 中的伪列来获取主键。

我想做类似的事情:

SELECT ROWID FROM Table
Run Code Online (Sandbox Code Playgroud)

在 Postgresql 中并获取主键。

编辑:这不是这个问题的重复,因为ROWID在 Oracle 中不给你主键。

sqlite postgresql

5
推荐指数
0
解决办法
2081
查看次数