在另一列不匹配的列上进行分组

时间:2012-01-06 08:54:16

标签: sql-server tsql

Id int
Timestamp bignit --yyyyMMddhhmmss format
transId char(36) -- guid
type nvarchar(100)
UserId int

我想找出UserId(Group BY)的所有行,它们同时有多个事务(transId不匹配)(timestamp匹配)和type in (select typename from typesTable where active =1)以及另一个过滤器,例如type

我尝试对userid和timestamp进行分组,但无法理解如何为transId列添加“不匹配”条件。

1 个答案:

答案 0 :(得分:2)

在GROUP BY

之后添加
HAVING MIN (transId) <> MAX(transId)

HAVING COUNT(DISTINCT transId) > 1

这会限制您按transId分组

的不同userID, timestamp