SQL Count where cláusula

Tengo la siguiente statement SQL:

SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId] FROM (Leagues l INNER JOIN Lineups lp ON l.LeagueId = lp.LeagueId) WHERE (lp.PositionId = 1) OR (lp.PositionId = 3) OR (lp.PositionId = 2) 

Lo que realmente necesito es get las filas donde el recuento de la position es mayor que un número. Algo como:

  SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId] FROM (Leagues l INNER JOIN Lineups lp ON l.LeagueId = lp.LeagueId) WHERE Count(lp.PositionId = 1) > 2 OR Count(lp.PositionId = 3) > 6 OR Count(lp.PositionId = 2) > 3 

¿Hay alguna forma de hacer esto en SQL?

¿Qué tal esto?:

 SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME FROM (Leagues l INNER JOIN Lineups lp ON l.LeagueId = lp.LeagueId) GROUP BY [l.LeagueId], [l.LeagueName] HAVING SUM(CASE WHEN lp.PositionId = 1 THEN 1 ELSE 0 END) > 2 OR SUM(CASE WHEN lp.PositionId = 3 THEN 1 ELSE 0 END) > 6 OR SUM(CASE WHEN lp.PositionId = 2 THEN 1 ELSE 0 END) > 3 

HAVING es la palabra key que está buscando:

 SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId] FROM (Leagues l INNER JOIN Lineups lp ON l.LeagueId = lp.LeagueId) GROUP BY lp.PositionId, l.LeagueName HAVING lp.PositionId = 1 AND COUNT(*) > 2 OR lp.PositionId = 2 AND COUNT(*) > 3 OR lp.PositionId = 3 AND COUNT(*) > 6