我是新(非常)在Oracle SQL世界SQL ORACLE - 查询,显示的清单,有多少人是在50
我有列名为艺术家表:id_artist,这位演出,born_date,death_date ,也有一个叫国下面列的表:id_country,COUNTRY_NAME
我必须写一个查询,显示国家的名单,有多少艺术家在50各有一个,像这样:
国家| ARTIST OVER 50
JAPAN ................ 35
EEUU ................. 47
法国............ 85
我知道了年龄,但我没有时间去做其余的查询。我试图用clausule count做一些事情,但是我只能得到错误信息,比如'缺少表达'或者与群组有关的问题。
这是我
SELECT COUNTRY_NAME, COUNT (round(MONTHS_BETWEEN(DEATH_DATE,BORN_DATE)/12)),
FROM ARTISTS A JOIN COUNTRY C ON A.COUNTRY=C.ID_COUNTRY
HAVING COUNT (round(MONTHS_BETWEEN(DEATH_DATE,BORN_DATE)/12))>50
GROUP BY COUNTRY_NAME
我感到非常非常失落试图做到这一点查询,正如我之前说的,我做的唯一的事情就是要知道每一个艺术家的年龄查询
round(MONTHS_BETWEEN(DEATH_DATE,BORN_DATE)/12)
我希望你们中的一些能帮助我。
感谢
GROUP BY在HAVING之前。 – jarlh
在'FROM'之前删除','。在'拥有'之前放置'group by'。 – JSapkota
是现在@ ZunairFatimi的评论 –