Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Внизподсчёт повторяющихся значений или top 10 Найти похожие ветки
← →
TTeK (2005-11-04 12:36) [0]Господа, помогите пожалуйста, совсем запутался.
Есть таблица с содержимым ежедневных листов продаж более чем за год, надо выбрать из неё 10 самых часто повторяющихся позиций.
Почти получилось, но не смог понять как сделать вложенный запрос.
select product_id,count(*) from salelist group by product_id having count(*)>1
Направьте плз на путь истинный, кому не сложно.
← →
Anatoly Podgoretsky © (2005-11-04 12:45) [1]SELECT TOP 10 - десять первых, любых, поскольку нет никакого упорядочиваня данных
← →
sniknik © (2005-11-04 12:49) [2]можно так попробовать
select top 10 * from
(select product_id, count(*)
from salelist
group by product_id
order by 2 desc)
если синтаксис под ib поправиш (так вместо top там у вас вроде first...)
ну и вопрос как выбирать если количество совпало? что если только на первое место претендуют 100 товаров а у тебя в выборе только 10 мест?
← →
TTeK (2005-11-04 12:57) [3]top 10 в ib не канает.
← →
Anatoly Podgoretsky © (2005-11-04 14:04) [4]TTeK (04.11.05 12:57) [3]
Ну у него наверно есть для этой операции другое ключевое слово. Для разных серверов разные ключевые слова для одних и тех же операций. Вместе с IB 7 идет описание языка, это настольная кника программиста.
← →
myor © (2005-11-05 18:01) [5]2 [3] и [4]
если не ошибаюсь - first
зы
да и distinct тут имхо нужен
← →
sniknik © (2005-11-05 18:49) [6]нет не нужен, групировка обьеденяет как раз по одиноковости значения, дублей при ней не будет.
← →
myor © (2005-11-06 12:46) [7]2 [6]
согласен. все таки в субботу должно быть что-то одно: или пиво, или думать. :-)
а если так:
select first 10 product_id, count(product_id)
from salelist
group by product_id
order by count(product_id)
desc
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.056 c