2017-05-26 71 views
-2

我试图让所有的“balcao”与最大。 “nCli”的值与mysql具有和聚合功能

SELECT cli.idBalcao, count(*) AS nCLientes 
    FROM cliente AS cli 
    GROUP BY cli.idBalcao 
    HAVING nClientes=MAX(nClientes) 

任何人都知道为什么这样不起作用? 我使用用户定义的变量解决了这个问题,但是这个代码应该在MySQL上工作。

+0

见http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an -mcve-for-what-seem-to-the-very-simple-sql-query – Strawberry

回答

0

如果你改变,要

SELECT cli.idBalcao, count(*) AS nCLientes, 
MAX(nCli) as maxClientes 
    FROM cliente AS cli 
    GROUP BY cli.idBalcao 
    HAVING nClientes = maxClientes 

(OR)

SELECT cli.idBalcao, count(*) AS nCLientes 
    FROM cliente AS cli 
    GROUP BY cli.idBalcao 
    HAVING nClientes IN (select MAX(nCli) from cliente) 
+0

MAX(nClientes)?中暑? – Strawberry

+0

@Strawberry,啊!感谢指出。 – Rahul

+0

它实际上并没有变得更好:-( – Strawberry