的行爲,我無法理解下面的查詢行爲:混淆HAVING子句
select max(avg(salary)) from employees
group by first_name
having avg(salary) >= max(salary);
它打印出的結果爲。但如果max(工資)是不應該有空的結果。如果我用「>」替換「>> =」「,它會將結果打印爲NULL。
如果我替換「> =」與「<」,則13100打印在結果中。
下面是僱員表:
TJ 2100 Steven 2200 Hazel 2200 James 2400 Ki 2400 Karen 2500 James 2500 Joshua 2500 Peter 2500 Martha 2500 Randall 2500 Guy 2600 Randall 2600 Donald 2600 Douglas 2600 Irene 2700 John 2700 Sigal 2800 Mozhe 2800 Girard 2800 Vance 2800 Shelli 2900 Michael 2900 Timothy 2900 Anthony 3000 Kevin 3000 Alex 3100 Curtis 3100 Jean 3100 Alana 3100 Julia 3200 Stephen 3200 Winston 3200 Samuel 3200 Laura 3300 Jason 3300 Julia 3400 Trenna 3500 Renske 3600 Jennife 3600 Kelly 3800 Britney 3900 Sarah 4000 Alexis 4100 Diana 4200 Nandita 4200 Jennife 4400 David 4800 Valli 4800 Kevin 5800 Bruce 6000 Pat 6000 Sundita 6100 Amit 6200 Charles 6200 Sundar 6400 Shanta 6500 Susan 6500 David 6800 Luis 6900 Oliver 7000 Sarath 7000 Kimbe 7000 Mattea 7200 Eliza 7300 William 7400 Nanette 7500 Louise 7500 Ismael 7700 Jose 7800 Payam 7900 Matthew 8000 Christ 8000 Lindsey 8000 John 8200 Adam 8200 William 8300 Jack 8400 Jonath 8600 Alyssa 8800 Alex 9000 Daniel 9000 Peter 9000 Allan 9000 Patrick 9500 Danie 9500 David 9500 Tayler 9600 Hermann 10000 Harris 10000 Janette 10000 Peter 10000 Clara 10500 Eleni 10500 Gerald 11000 Den 11000 Ellen 11000 Lisa 11500 Alberto 12000 Shelley 12008 Nancy 12008 Michael 13000 Karen 13500 John 14000 Lex 17000 Neena 17000 Steven 24000
你到底在這裏做?用簡單的英語,_describe_你試圖得到什麼輸出。 –
10行樣本數據通常就足夠了。同時向我們展示預期結果 - 因爲我不明白你想要什麼。 – jarlh
您可以檢查'AVG(工資)> = MAX(工資)'和'AVG(工資)= MAX(工資)',結果應該是一樣的。例如,如果你只有1記錄 - 我們說的3000,那麼這兩個'avg'和'max'是3000 BTW,我相信你用'通過FirstName'組來計算'avg'和'max'。 – Prisoner