Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
ВнизКол-во записей, где некое поле P = a or b or c ? Filtre ? Найти похожие ветки
← →
Chery (2003-07-03 11:51) [0]Есть таблица с большим кол-вом записей. Нужно подсчитать общее кол-во записей, где некое поле "P" принимает значения "а", "б", "в". Причём это надо сделать не на сервере, а на клиенте (без SQL). Обязательно ли лопатить всю таблицу While и проверять IF, потом i:=i+1? Или лучше Filtred фильтром Accept = ..., а потом RecordCount, а потом закрыть фильтр ?
А методы FindKey, Located - ищут вроде только одну запись (первую попавшуюся). ?? И как пользоваться Filtre ?
Пишу P="a*" - ничего не происходит.
← →
Соловьев (2003-07-03 12:03) [1]select count(P)
from table
where P="a"
← →
Johnmen (2003-07-03 12:11) [2]На каком сервере ? :)))))))
SELECT P,COUNT(*) FROM Table
GROUP BY P
WHERE P IN ("а","б,"в")
← →
Chery (2003-07-03 12:18) [3]Я же ясно написал: Без SQL, не на серверной, а на клиентской части. Пока я остановился на
tblDiscipliny.Filter:= Name = "фар*" or Name = "дар*"
tblDiscipliny.Filtered:=True;
Вроде разобрался с Filter.
← →
Соловьев (2003-07-03 12:20) [4]
> SELECT P,COUNT(*) FROM Table
> GROUP BY P
> WHERE P IN ("а","б,"в")
SELECT P,COUNT(*)
FROM Table
WHERE P IN ("а","б,"в")
GROUP BY P
← →
Соловьев (2003-07-03 12:22) [5]
> Я же ясно написал: Без SQL, не на серверной, а на клиентской
> части.
сервер -Access? :)))
Ну тогда цыкл While ...
← →
Johnmen (2003-07-03 12:41) [6]>Соловьев © (03.07.03 12:20)
:-)))
>Chery
Если используется BDE, то с помощью фильтров теоретически может получиться быстрее, чем прямое сканирование...
Но я бы это проверил.
← →
Chery (2003-07-03 12:49) [7]Ладно, сделал так:
в инспекторе ClientDataSet задал
Filter - Name = "а*" or Name = "в*" or Name = "б*"
IndexFieldNames - Name
В коде:
tblDiscipliny.Filtered:=True;
rc:=tblDiscipliny.RecordCount;
tblDiscipliny.Filtered:=False;
Да, в качестве СУБД на сервере - Access. Сам знаю, такого нарочно не придумаешь, но знаете, есть ряд преимуществ, если ПО не требует излишней защищённости и кол-во записей не достигает астрономических цифр.
← →
{bas} (2003-07-03 13:58) [8]А почему нельзя это сделать на сервере?? НЕ понимаю..
В Отдельном запросе делаешь, как сказали, и все будет ок!
← →
Anatoly Podgoretsky (2003-07-03 14:01) [9]{bas} © (03.07.03 13:58)
А ты сначала найди его
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c