SQL查询帮助:选择出现一定次数的行

Jak*_*ake 5 sql select date

我有一个带有"日期"列的表.每个日期可能会出现多次.如何仅选择出现的日期<k次?

Joe*_*orn 8

SELECT * FROM [MyTable] WHERE [Date] IN
(
    SELECT [Date] 
    FROM [MyTable] 
    GROUP By [Date] 
    HAVING COUNT(*) < @Max
)
Run Code Online (Sandbox Code Playgroud)

另见@ [SQLMenace]的回复.它与此非常相似,但是根据您的数据库,他的JOIN可能会运行得更快,假设优化器不会产生差异.


Zso*_*kai 6

select dates 
  from table t 
 group by dates having count(dates) < k ;
Run Code Online (Sandbox Code Playgroud)

希望它适用于ORACLE.HTH