如何在计算实例数量的同时选择所有行?

  • 本文关键字:选择 计算 实例 sql-server
  • 更新时间 :
  • 英文 :

SELECT MID, COUNT(*)
FROM [Main].[Product].[Report]
GROUP BY MID
HAVING COUNT(*) >= 2

这给了我:

312391933 2
231313111 2

但是我想:

312391933 2 2020/02/01 true
312391933 2 2019/02/02 false
231313111 2 2020/01/01 true
231313111 2 2019/01/01 false

有办法做到这一点吗?

我尝试将表连接到自身并使用子查询,但似乎没有任何作用。所有的行都来自同一个表。

可以使用窗口函数。他们可以成为你的救星,非常值得你花时间和他们相处。

with cte as(
Select MID
,Cnt = sum(1) over (partition by MID)
,SomeDateCol
,SomeTrueFalseCol
From  YourTable
)
Select *
From  cte
Where Cnt>1

最新更新