为什么我不能在这个SQLzoo教程中得到正确的答案?

时间:2009-01-11 14:05:34

标签: sql mysql-5.0

Problem 2b如下:

  

2B。每个科目都会显示该奖项的第一年。

     
    诺贝尔奖(年龄,主题,获胜者)

  

我的解决方案是这样的:
SELECT DISTINCT subject, yr
FROM nobel
ORDER BY yr ASC;

为什么这不起作用?

3 个答案:

答案 0 :(得分:2)

如果不使用group by或min

,你可以采用不同的方式
select distinct subject, yr from nobel x
  where yr <= all
    (select yr from nobel y
     where y.subject = x.subject)

但它确实更有效。

答案 1 :(得分:1)

对于主题和年份的每个不同组合,您的答案都会排成一行。

正确的答案由受试者组成,并获得每个科目的MIN年。

足够的线索?

答案 2 :(得分:0)

SELECT subject, MIN(yr)
FROM nobel
GROUP BY subject;

耶!