Страница 1 из 1

Re: Как выбрать топ n

Добавлено: 18 фев 2004, 11:59
kvn
mm писал(а):Есть таблица А, в ней поле id. Запрос вида

SELECT id, count(id)
FROM A
WHERE ...
GROUP BY id
ORDER BY count(id) DESC
LIMIT 0,10

Возвращает все строки. Хочется выбрать только n строк.
Как это сделать?
Дописал в квоте (первые 10 строк)

Добавлено: 18 фев 2004, 12:40
kvn
mm писал(а):В Oracle не канает
select * from (
SELECT id, count(id) as bb, ROWNUM as RN
FROM A
WHERE ...
GROUP BY id
) where RN > 0 and RN < 10

типа того...
не проверял..
сортировать не будет (про сортировку - RTFM)

Добавлено: 05 мар 2004, 20:44
miland
Немножко подправлю
select * from (
SELECT id, count(id) FROM A WHERE ... GROUP BY id ORDER BY count(id) DESC
) where RowNum < 10

Re: Как выбрать топ n

Добавлено: 31 янв 2005, 21:18
an
mm писал(а):Есть таблица А, в ней поле id. Запрос вида

SELECT id, count(id)
FROM A
WHERE ...
GROUP BY id
ORDER BY count(id) DESC

Возвращает все строки. Хочется выбрать только n строк.
Как это сделать?
SELECT top 10 id, count(id)
FROM A
WHERE ...
GROUP BY id
ORDER BY count(id) DESC

?