CcascaMedlem sedan feb. 20005 891 inlägg Frågan#1 Har en SQL-sats som räknar antalet anställda i varje avdelning som ser ut så här:
SELECT E.DEPTNO, D.DNAME, COUNT(*)
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
GROUP BY E.DEPTNO, D.DNAME
ORDER BY COUNT(*) DESC
Det ger följande utskrift:
DEPTNO DNAME COUNT(*)
------ ----- --------
30 SALES 6
20 RESEARCH 5
10 ACCOUNTING 3
Så långt funkar det, men jag är lite låst på hur man får ut endast en post, den med högsta COUNT()? :)
Kör med Oracle Database 10g Express Edition. Som jag förstått det så stöder inte Oracle TOP eller LIMIT...
@ndersMedlem sedan juni 200032 969 inläggSe om detta funkar:
For Oracle 8i and above, one can get the Top N rows using an inner-query with an ORDER BY clause:
SELECT *
FROM (SELECT * FROM my_table ORDER BY col_name_1 DESC)
WHERE ROWNUM < 10;
Källa: http://www.orafaq.com/faq/how_does_one_select_the_top_n_rows_from_a_table
mvh
CcascaMedlem sedan feb. 20005 891 inlägg Jag var inne på ROWNUM tidigare, men tänkte inte på att man måste nästla in resultatet... :)
Du är en pärla, @nders. :birp