我有一個表的字段createdate,a,b,c,d,e。我想創建一個結果,顯示了以下內容:顯示sql記錄集中的相似記錄數
CREATEDATE,A,B,C,d,E,[數的在最後10分鐘用同樣的B,C,d創建的記錄
我有一個表的字段createdate,a,b,c,d,e。我想創建一個結果,顯示了以下內容:顯示sql記錄集中的相似記錄數
CREATEDATE,A,B,C,d,E,[數的在最後10分鐘用同樣的B,C,d創建的記錄
SELECT
createdate,
a,
b,
c,
d,
e,
duplicatesCount =
(
SELECT count(*) as c
FROM Table as t2
WHERE DATEADD(minute, 10, t1.createdate) > GETDATE()
AND t2.b = t1.b AND t2.c = t1.c AND t2.d = t1.c
)
FROM Table as t1
你是不是指最後的條件在't2.d = t1.d' –
select *
, (
select count(*)
from YourTable yt2
where yt1.b = yt2.b
and yt1.c = yt2.c
and yt1.d = yt2.d
and yt2.createdate between
yt1.createdate - interval 10 minute
and yt1.createdate
) as DuplicateCount
from YourTable yt1
yt1.createdate - interval 10 minute
語法是針對MySQL的。對於SQL Server,請使用dateadd(minute, -10, yt1.createdate)
。
您使用的數據庫是? (SQL Server,MySQL,...?) – Andomar
從「now」開始,距離最後一次插入的值是相同的值(b,c,d)還是10分鐘? –