Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2009, 18:21   #1
JSilver
 
Регистрация: 03.03.2009
Сообщений: 5
По умолчанию Подсчет повторяющихся значений поля

Привет, многоуважаемое сообщество.
Загнул, конечно с темой...

Имеется таблица в MS SQL. Три поля (Date, Order, Name)
Необходимо сделать выборку и подсчет повторяющихся значений поля Order. Сначала одного значения, потом второго и так до EOF.
Т.е. надо подсчитать сколько раз в таблице встречается значение 1, сколько раз значение 2 и т.д.
Значения неизвестны, равно как и количество принимаемых значений.

Заранее признателен за помощь.

Последний раз редактировалось mihali4; 04.03.2009 в 00:48.
JSilver вне форума Ответить с цитированием
Старый 03.03.2009, 18:29   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну хотя бы тип поля и какие-то пределы изменения значения этого поля нужно указать...
А то получается типичная задача на тему "пойди туда, не знаю куда, подсчитай то, не знаю что".
mihali4 вне форума Ответить с цитированием
Старый 03.03.2009, 21:05   #3
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

select COUNTER_,COUNT(COUNTER_) from BUSDATA /*where ... */ group by COUNTER_
Антон Ю.Б. вне форума Ответить с цитированием
Старый 04.03.2009, 09:24   #4
JSilver
 
Регистрация: 03.03.2009
Сообщений: 5
По умолчанию

mihali4, char
JSilver вне форума Ответить с цитированием
Старый 04.03.2009, 09:37   #5
JSilver
 
Регистрация: 03.03.2009
Сообщений: 5
По умолчанию

Антон Ю.Б., не помогло. Ругается на отсутствие поля Auto_N (автоинкрементное), которое присутствует.
JSilver вне форума Ответить с цитированием
Старый 04.03.2009, 09:49   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Хотя, в принципе, это и неважно...
Вот что у меня получилось, проверяйте:
Код:
select order, count(order) from my_table_name where order in
(select order from my_table_name group by order) 
group by order
Естественно, вместо my_table_name подставьте имя своей таблицы.
mihali4 вне форума Ответить с цитированием
Старый 04.03.2009, 10:11   #7
JSilver
 
Регистрация: 03.03.2009
Сообщений: 5
По умолчанию

Field 'Name' not found
И причем здесь Name?

mihali4,Антон Ю.Б.

P.S. Прошу прощения - ступил. Работает!!!
Большое человеческое спасибо

Последний раз редактировалось JSilver; 04.03.2009 в 10:20.
JSilver вне форума Ответить с цитированием
Старый 04.03.2009, 10:15   #8
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

JSilver, если честно, то я на Firebird проверял. Просто агрегатные ф-ии - это стандарт, ну а особенности реализации в конкретной СУБД - это уже проще. С MS SQL не работал, так что даже интересно - почему этот вариант не прокатывает (коолега проверил запрос по целому неключевому полю в таблице с наличием автоинкрементного - все ок).

Михаил, но ведь двойная группировка - это двойной анализ одних и тех же данных. Понимаю, что в Firebird пока нет кэша запросов и не всегда оптимальны планы запросов, но там где мой вариант работал 25ms, Ваш - 61826 ms.
Антон Ю.Б. вне форума Ответить с цитированием
Старый 04.03.2009, 10:25   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Перемудрил немного
Можно и просто
Код:
select order, count(order) from my_table_name group by order
mihali4 вне форума Ответить с цитированием
Старый 04.03.2009, 10:34   #10
JSilver
 
Регистрация: 03.03.2009
Сообщений: 5
По умолчанию

Тоже работает! Респект! Спасибо!
JSilver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет значений, удовлетворяющих интервалам treim Microsoft Office Excel 2 22.11.2008 13:37
Удаление повторяющихся записей gavrylyuk Microsoft Office Excel 3 28.06.2008 08:10
Запись файлов в *.тхт с учетом повторяющихся значений Arteom Общие вопросы Delphi 3 03.04.2008 17:26
Поиск повторяющихся значений Flangini Microsoft Office Excel 23 22.02.2008 15:57
подсчет различных значений zetrix Microsoft Office Excel 0 31.10.2006 07:28