Я не могу понять поведение следующего запроса:Путаница с поведением предложения 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. Кстати, я считаю, что вы используете 'group by FirstName' для вычисления' avg' и 'max'. – Prisoner