Пустой набор возвращен из запроса - PullRequest
0 голосов
/ 19 июля 2009

Любая помощь очень ценится.

У меня есть стол больницы:

Nurse + Year + No.Patients<br> A001 |2000 | 23 <br> A001 |2001 | 30 <br> A001 |2002 | 35 <br> <br> B001 |2000 | 12 <br> B001 |2001 | 15 <br> B001 |2002 | 45 <br> <br> C001 |2000 | 50 <br> C002 |2001 | 59 <br> C003 |2002 | 69 <br> etc</p> <p>What I am trying to do is work out which nurse had the greatest increase of patients for the years 2000 - 2002.</p> <p>Clearly B001 did as her patients increased from 12 to 45 and increase of 33 and what I am trying to produce is the result <code>B001 | 33.

Это то, что я имею до сих пор:

select a.nurse,a.nopats from hospital as a
  join
    ( select nurse,max(nopats)-min(nopats) as growth
        from hospital where year between 2000 and 2002 group by nurse ) as s1
  on a.nurse = s1.nurse and a.nopats = s1.growth
  where year between 2000 and 2002;

но все, что я получаю, это пустой набор.

Я думаю, мне нужен общий максимум (nopats) после объединения.

Любая помощь здесь будет отличной.

Спасибо!

Ответы [ 2 ]

1 голос
/ 19 июля 2009
SELECT nurse, MAX(nopats) - MIN(nopats) AS Growth
  FROM hospital 
 WHERE year BETWEEN 2000 AND 2002
 GROUP BY nurse
 ORDER BY Growth

Это должно сделать это. Дайте мне знать, если это то, что вам нужно.

1 голос
/ 19 июля 2009

Попробуйте это:

SELECT nurse, (max(nopats) - min(nopats)) AS growth
  FROM hospital
 WHERE year BETWEEN 2000 AND 2002
 GROUP BY nurse
 ORDER BY growth DESC
LIMIT 1;

Результат: B001 | 33 из-за LIMIT 1; просто оставьте это, если хотите больше результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...