22,209
社区成员
发帖
与我相关
我的任务
分享
;
WITH CTET
AS ( SELECT UserID ,
Score ,
SIGN(Score) AS Type ,
ROW_NUMBER() OVER ( PARTITION BY RAND() ) AS Ord
FROM Table1
)
SELECT DISTINCT
UserID
,Type
FROM ( SELECT * ,
ROW_NUMBER() OVER ( PARTITION BY UserID, Type ORDER BY Ord ) AS Ord2
FROM CTET
) AS t
GROUP BY UserID ,Type
Ord - Ord2
HAVING COUNT(*) >= 3;