Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Индексированная таблица: максимальное значение (число прочтений - 9891 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Индексированная таблица: максимальное значение
20. Ноября 2007 :: 06:56
Печать  
Есть таблица. В ней две колонки "Контрагент, Сумма". Значения в колонке "Контрагент" не уникальные, то есть для одного контрагента есть несколько сумм. Как преобразовать эту таблицу, чтобы у меня осталась только одна строка по каждому контрагенту и его максимальная сумма?
Я пробовал делать сортировку по "Контрагент, -Сумма" и потом группировать. Но при группировке видимо порядок сортировки не учитывается, и в результат попадает не максимальная сумма.

Как еще можно попрбовать? Перебором не хочется делать
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Индексированная таблица: максимальное значение
Ответ #1 - 20. Ноября 2007 :: 07:45
Печать  
а так
Код
Выбрать все
select distinct Tabl.sum, Tabl.kl from Tabl order by Tabl.sum dec
 


наверное не то не заметил что речь об ит ( зациклился на sql  таблицах )
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индексированная таблица: максимальное значение
Ответ #2 - 20. Ноября 2007 :: 08:23
Печать  
А если попробывать сделать сортировку до загрузки её в ИТЗ (т.е. сначала сделать сортировку в обычной ТЗ, потом загрузить её в ИТЗ), а уж потом установить фильтр по Уникальным значениям "Контрагент" или попробывать сгруппировать как ты хотел.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #3 - 20. Ноября 2007 :: 08:52
Печать  
Да как-то слишком сложно получается. Я уже везде использую только ИндТаблицу. Придется туда-сюда перегружать...
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #4 - 20. Ноября 2007 :: 08:54
Печать  
Так чего? Других вариантов нету? Только перебор?
А чего скажут разработчики?
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Индексированная таблица: максимальное значение
Ответ #5 - 20. Ноября 2007 :: 10:07
Печать  
Поищи посиком.
Когда этот вопрос по ИТЗ поднимался.
Тама что-то использовалось типа УстановитьФильтр()
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #6 - 20. Ноября 2007 :: 10:12
Печать  
ды я искал уже...

ОК,
щас еще поищу
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #7 - 20. Ноября 2007 :: 11:20
Печать  
поискал...

там все только про запросы через OLEDB и даже SQLLite!
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #8 - 20. Ноября 2007 :: 11:21
Печать  
а про УстановитьФильтр() ничего не нашел!
может напомните?
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Индексированная таблица: максимальное значение
Ответ #9 - 20. Ноября 2007 :: 11:40
Печать  
es3000 писал(а) 20. Ноября 2007 :: 11:21:
а про УстановитьФильтр() ничего не нашел!
может напомните?

http://www.1cpp.ru/docum/IndexedTable.html#setfilter
только не работает как тебе нужно.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #10 - 20. Ноября 2007 :: 12:02
Печать  
ясен пень это не то...

я имел ввиду, что не нашел как применить "УстьановитьФильтр" для поиска максимального значения
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Индексированная таблица: максимальное значение
Ответ #11 - 20. Ноября 2007 :: 14:59
Печать  
Самое быстрое
Индексируешь. Далее -
Цитата:
сортировку по "Контрагент, +Сумма"

Идешь сверху вниз.
Как только контрагент сменился добавляешь предыдущую строку в новую ТЗ.
Имхо - это самый быстрый алгоритм в данном случае(если считать таблицу уже отсортированной) и никакими
дополнительными методами, даже если бы они были - принципиально не улучшаем.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #12 - 21. Ноября 2007 :: 05:19
Печать  
kiruha писал(а) 20. Ноября 2007 :: 14:59:
Самое быстрое
Индексируешь.


А зачем индексировать, а потом сортировать? Если я буду делать обход в порядке сортировки, тогда индекс не нужен
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Индексированная таблица: максимальное значение
Ответ #13 - 21. Ноября 2007 :: 06:37
Печать  
ДобавитьИндекс и Сортировать для ИТЗ это одно и то же Улыбка
Поэтому индексируешь, а потом идешь по данному индексу - ВыбратьСтроки(Индекс), ПолучитьСтроку(Индекс)
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Индексированная таблица: максимальное значение
Ответ #14 - 21. Ноября 2007 :: 08:04
Печать  
artbear писал(а) 21. Ноября 2007 :: 06:37:
ДобавитьИндекс и Сортировать для ИТЗ это одно и то же Улыбка


Ну не совсем одно и тоже. По крайней мере с точки зрения использования этой функциональности.
Разница в том, что при создании индекса ему дается имя , и этим именем (то есть этот индекс) я могу применять в выборках, фильтрах и т.д.
А при сортировке имени у индекса сортировки нету. И использовать этот индекс никак нельзя. Или я ошибаюсь?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать