选择HAVING子句

时间:2016-03-30 19:08:06

标签: mysql

我写了一个快速查询

select dno from Employee having max(salary)

在我的表中,96000的最高工资与dno 8相关。但由于某种原因,select语句给出了dno 6.

http://hastebin.com/wewahiloki.vhdl

我觉得这很明显,但我无法理解。

2 个答案:

答案 0 :(得分:1)

如果您要获得薪水最高的“dno”,您可以使用以下查询:

>>> tips[['time', 'tip']].pivot(columns='time').head()
        tip      
time Dinner Lunch
0      1.01   NaN
1      1.66   NaN
2      3.50   NaN
3      3.31   NaN
4      3.61   NaN

原因是当您使用聚合操作时会使用“having”。请参阅:https://stackoverflow.com/a/2905312/1641558

答案 1 :(得分:1)

如果没有分组,则无法正常工作 如果你想要所有具有最高工资的dno,你可以使用这个

select dno from Employee  where salary = (select max(salary) from Employee);