![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подсчёт повторяющихся значений или top 10 [D7, IB 7.1]
TTeK © (2005-11-04 12:36:00)Господа, помогите пожалуйста, совсем запутался.
Есть таблица с содержимым ежедневных листов продаж более чем за год, надо выбрать из неё 10 самых часто повторяющихся позиций.
Почти получилось, но не смог понять как сделать вложенный запрос.
select product_id,count(*) from salelist group by product_id having count(*)>1
Направьте плз на путь истинный, кому не сложно.
myor (2005-11-06 12:46:00) [1]2 [6]
согласен. все таки в субботу должно быть что-то одно: или пиво, или думать. :-)
а если так:
select first 10 product_id, count(product_id)
from salelist
group by product_id
order by count(product_id)
desc
sniknik (2005-11-05 18:49:00) [2]нет не нужен, групировка обьеденяет как раз по одиноковости значения, дублей при ней не будет.
myor (2005-11-05 18:01:00) [3]2 [3] и [4]
если не ошибаюсь - first
зы
да и distinct тут имхо нужен
Anatoly Podgoretsky (2005-11-04 14:04:00) [4]TTeK (04.11.05 12:57) [3]
Ну у него наверно есть для этой операции другое ключевое слово. Для разных серверов разные ключевые слова для одних и тех же операций. Вместе с IB 7 идет описание языка, это настольная кника программиста.
TTeK (2005-11-04 12:57:00) [5]top 10 в ib не канает.
sniknik (2005-11-04 12:49:00) [6]можно так попробовать
select top 10 * from
(select product_id, count(*)
from salelist
group by product_id
order by 2 desc)
если синтаксис под ib поправиш (так вместо top там у вас вроде first...)
ну и вопрос как выбирать если количество совпало? что если только на первое место претендуют 100 товаров а у тебя в выборе только 10 мест?
Anatoly Podgoretsky (2005-11-04 12:45:00) [7]SELECT TOP 10 - десять первых, любых, поскольку нет никакого упорядочиваня данных