在我正在进行的学校作业中,我需要展示犯罪最多的3名罪犯。但是我遇到了一些问题
这是我到目前为止的代码及其输出:
`Select Last, First, Count(Crime_ID)
From Criminals Natural Join crimes
Group by Last, First, Criminal_ID
order by Count(Crime_Id) Desc`
`LAST FIRST COUNT(CRIME_ID)
--------------- ---------- ---------------
Panner Lee 2
Sums Tammy 1
Statin Penny 1
Dabber Pat 1
Mansville Nancy 1
Cat Tommy 1
Phelps Sam 1
Caulk Dave 1
Simon Tim 1
Pints Reed 1
Perry Cart 1
11 rows selected `
我一直在玩ROWNUM,但当我将它包含在SELECT中时,由于我的GROUP BY而无法运行。但是如果你将ROWNUM放在GROUP BY中,它只需将所有内容分开。
我只想展示犯罪最多的前三名,这很奇怪,因为只有一个人有超过1个犯罪。从理论上讲,更多的罪犯将被添加到数据库中,但这些是分配中给出的表格。
答案 0 :(得分:0)
select *
from
( Select Last, First, Count(Crime_ID)
From Criminals Natural Join crimes
Group by Last, First, Criminal_ID
order by Count(Crime_Id) Desc )
where ROWNUM <= 3;