我想從我的表中刪除重複的accountno's。選擇刪除重複的帳號幷包括其他字段
SELECT ACCOUNTNO,日期時間,發送resultCode,樓盤 FROM dbo.Most_Recent_Result
我曾嘗試不同的,但裁判的一些行的不同。
如何刪除重複的accountno?我只想刪除第二個匹配的accountno記錄。
我想從我的表中刪除重複的accountno's。選擇刪除重複的帳號幷包括其他字段
SELECT ACCOUNTNO,日期時間,發送resultCode,樓盤 FROM dbo.Most_Recent_Result
我曾嘗試不同的,但裁判的一些行的不同。
如何刪除重複的accountno?我只想刪除第二個匹配的accountno記錄。
SELECT DISTINCT ACCOUNTNO, DateTime, RESULTCODE, REF
FROM dbo.datetime as o
LEFT JOIN (SELECT ACCOUNTNO, MAX(datetime) AS max_datetime
FROM dbo.datetime GROUP BY ACCOUNTNO) i ON o.ACCOUNTNO = i.ACCOUNTNO
WHERE o.DateTime = i.max_datetime
這假定每個ACCOUNTNO重複條目,沒有存在具有相同日期時間,否則你仍然會得到重複。
編輯:由於您的數據具有多個具有相同日期的ACCOUNTNO,此時您可以添加DISTINCT關鍵字。這將刪除對每個ACCOUNTNO
EDIT 2的最大日期的重複:如果你不關心它的ResultCode和REF域將顯示,你可以使用聚合函數來獲取只有一個:
SELECT DISTINCT o.ACCOUNTNO, o.DateTime, MAX(o.RESULTCODE), MAX(o.REF)
FROM dbo.datetime as o
LEFT JOIN (SELECT ACCOUNTNO, MAX(datetime) AS max_datetime
FROM dbo.datetime GROUP BY ACCOUNTNO) i ON o.ACCOUNTNO = i.ACCOUNTNO
WHERE o.DateTime = i.max_datetime
GROUP BY o.ACCOUNTNO, o.DateTime
ORDER BY ACCOUNTNO
請試試這個:
select accountno, datetime, resultcode, ref
from (
select dense_rank() over (partition by accountno order by datetime desc, ref) as rn
,accountno, datetime, resultcode, ref
from dto.datetime
)
where rn = 1
order by 1,2
這是我reference。
收到以下錯誤: – SRC
無法在網格窗格和圖表窗格中表示SQL文本。 – SRC
這個錯誤是由於視圖設計者本身。查看此鏈接:https://social.msdn.microsoft.com/Forums/en-US/e3036b3d-0f61-4aec-a879-f6602e86515b/sql-server-2008-management-studios-why-do-i-get -SQL-文本不能待表示,在能源網窗格?論壇= sqltools – anonyXmous
這將有助於知道您正在使用的數據庫。 - MySQL? PostgreSQL的? SQL Server? etc ... –
我正在使用SQL Server 2014 – SRC
查看數據表的示例也很有幫助。據我瞭解,你有多個ACCOUNTNO條目與各種日期時間,你想只保留最近的日期時間,這是正確的嗎? – SandPiper