On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 5996
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.08.18 06:29. Заголовок: Как посчитать кол-во записей в базе по условию ?


Всем привет !
Имеется база адресов договоров.
Город+Улица+Дом+Корпус+Подъезд

Подъезды могут быть несколько одинаковых в базе.

Как быстро можно посчитать:
1) Кол-во домов в базе
2) Кол-во подъездов в базе.

Делать условный индекс по базе придётся всё равно, так как есть ещё доп.условие Статус=1 и Тип=2 .AND. !DELETED()
Подсчёт в цикле по базе могу сам сделать.
Просто как ещё можно реализовать счёт ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]





Пост N: 207
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 09.08.18 08:26. Заголовок: Если индекс уникаль..


Если индекс уникальный, можно ORDKEYCOUNT

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1955
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.08.18 09:27. Заголовок: Andrey пишет как ещё..


Andrey пишет
 цитата:
как ещё можно реализовать счёт ?


Уникальный индекс (отсечет Status, Type и ...) даст при установке + scope по OrdKeyCount():
 
- Город+Улица+Дом+Корпус+Подъезд+Квартира -> кол-во квартир
- Город+Улица+Дом+Корпус+Подъезд -> кол-во подъездов
- Город+Улица+Дом+Корпус -> кол-во корпусов
- Город+Улица+Дом -> кол-во домов
...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1956
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.08.18 09:29. Заголовок: PS коментарии сдвину..


PS
коментарии сдвинуть на строку вниз, 1 стр. это индекс

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5997
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.08.18 09:35. Заголовок: Засада ! Ещё оказыва..


Засада !
Ещё оказывается нужно просчитать сумму по доп.условию.
Получается что лучше делать простым перебором в цикле.
Так хоть можно за один проход по базе просчитать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1957
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.08.18 09:42. Заголовок: Andrey пишет нужно п..


Andrey пишет
 цитата:
нужно просчитать сумму по доп.условию


Может надо постоянный индекс иметь: Город+Улица+Дом+Корпус+Подъезд+Квартира+Type+Status
и использовать для быстрых выборок ставя Scope и Filter

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5998
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.08.18 12:20. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может надо постоянный индекс иметь:


Да нет, это месячный отчёт. Раз в месяц нужно считать.
Пойдёт и медленный счёт и так уж этих индексов полно держу. На каждую основную базу 7-8 индексов.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 403
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет