Форум: "Базы";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
ВнизКак сделать Найти похожие ветки
← →
St@syan (2003-11-06 11:55) [0]Я уже задавал этот вопрос но меня не правильно поняли:((
<hr>
Как сделать "статистику" по столбцу, в столбце содержатся целые числа к. нужно сложить если год в той же записи равен указанному,
например 2003.
Сразу говорю у меня ПАРАДОКС!
← →
paul_k (2003-11-06 12:13) [1]
select sum(int_field)
from table
where year_field = 2003
← →
St@syan (2003-11-06 12:18) [2]С помощью компонента Тэйбл
← →
sniknik (2003-11-06 12:20) [3]это сумма (1 значение), а просили статистику т.е. много значений в течении какогото времени.
(если подойдет, то понятно почему в первый раз не правильно поняли)
← →
paul_k (2003-11-06 12:22) [4]
> St@syan (06.11.03 12:18) [2]
> С помощью компонента Тэйбл
Если по уму - никак. Не предназаначет TTable для такого
← →
St@syan (2003-11-06 12:22) [5]А дальше
← →
St@syan (2003-11-06 12:23) [6]
> Если по уму - никак. Не предназаначет TTable для такого
Если не знаешь так молчи
← →
paul_k (2003-11-06 12:24) [7]
> St@syan (06.11.03 12:22) [5]
> А дальше
а что может быть дальше?
посмотри в хелпе, у какого компонента источником данных может быть запрос, а не только таблица
← →
St@syan (2003-11-06 12:25) [8]Может скажешь где хелп на русском
← →
bushmen (2003-11-06 12:27) [9]>sniknik
>в столбце содержатся целые числа к. нужно сложить если год в >той же записи равен указанному,
>например 2003.
А как это по-другому то можно понять?
← →
paul_k (2003-11-06 12:28) [10]
> St@syan (06.11.03 12:25) [8]
> Может скажешь где хелп на русском
В любом более-менее крупном книжном магазине на полке - "Языки программирования"
← →
sniknik (2003-11-06 12:29) [11]bushmen © (06.11.03 12:27) [9]
да вот это меня и смущало. просит статистику по одному числу.
St@syan (06.11.03 12:22) [5]
> А дальше
руками код набери, банальный цикл по талице с условием и суммированием.
← →
St@syan (2003-11-06 12:29) [12]Просмотреть нужно весь столбец,( ты мне говоришь как на TQuery)
← →
St@syan (2003-11-06 12:31) [13]
> В любом более-менее крупном книжном магазине на полке -
> "Языки программирования"
в инете
← →
paul_k (2003-11-06 12:32) [14]
> St@syan (06.11.03 12:29) [12]
> Просмотреть нужно весь столбец,( ты мне говоришь как на
> TQuery)
Не понятно. тебе нужно сумму только для одного года или для каждого года ?
← →
paul_k (2003-11-06 12:33) [15]
> St@syan (06.11.03 12:31) [13]
>
> > В любом более-менее крупном книжном магазине на полке
> -
> > "Языки программирования"
>
> в инете
а что в инете нет книжных магазинов?
← →
St@syan (2003-11-06 12:33) [16]
> Не понятно. тебе нужно сумму только для одного года или
> для каждого года?
для указанного пользователем
← →
St@syan (2003-11-06 12:33) [17]
> а что в инете нет книжных магазинов?
СКАЧАТЬ
← →
bushmen (2003-11-06 12:36) [18]>St@syan
А тебе не все-равно как это будет делать TQuery? Это однозначно будет намного быстрее, чем самому :))) Чем тебя TQuery не устраивает? Или тебе нравится весь объем таблицы за собой таскать ради одного только значений?
← →
paul_k (2003-11-06 12:38) [19]ну таки передаеш запросу вместо 2003 то что пользователь ввел
with query do
begin
sql.add("select sum(int_field)");
sql.add("from table");
sql.add("where year_field = "+то что ввел усер);
end
или
select year_field,sum(int_field) as year_sum
from table
group by year_field
← →
Zacho (2003-11-06 12:39) [20]2 St@syan :
А может все-таки англо-русский словарь купишь ? И пару учебников.
Пойми, научиться программировать, не прилагая к этому никаких усилий - невозможно.
← →
paul_k (2003-11-06 12:40) [21]
> St@syan (06.11.03 12:33) [17]
>
> > а что в инете нет книжных магазинов?
>
> СКАЧАТЬ
ещё скажи что на халяву...
← →
St@syan (2003-11-06 12:40) [22]
> ну таки передаеш запросу вместо 2003 то что пользователь
> ввел
> with query do
...
> select year_field,sum(int_field) as year_sum
> from table
> group by year_field
ну это другое дело
← →
bushmen (2003-11-06 12:40) [23]>paul_k ©
Если первый вариант, то лучше, мне кажется, использовать параметризованный запрос ?!
← →
St@syan (2003-11-06 12:41) [24]
> > St@syan (06.11.03 12:33) [17]
> >
> > > а что в инете нет книжных магазинов?
> >
> > СКАЧАТЬ
>
> ещё скажи что на халяву...
А ты как думал? :)))
← →
paul_k (2003-11-06 12:43) [25]2 bushmen
параметр - тоже вариант, но вот только вопрос: в чем преимущество?
действий вроде одно и тоже количество
1. закрыть запрос
2. присвоить значение параметра / собрать строку запроса
3. открыть запрос
Или я в чем-то не прав?
← →
bushmen (2003-11-06 12:56) [26]>paul_k ©
Ты упускаешь две вещи. Когда у тебя запрос с параметрами:
1. При многократном использовании кода меньше пишешь.
2. Ты выполняешь метод Prepare один раз, а так постоянно.
P.S.
>1. закрыть запрос
1.5 Очистить запрос>
2. присвоить значение параметра / собрать строку запроса
>3. открыть запрос
← →
paul_k (2003-11-06 13:20) [27]1.5 под вопросом
sql.text:=
> 2. Ты выполняешь метод Prepare один раз, а так постоянно
а после присвоения параметра этот метод не исполняется?
не знал...
← →
bushmen (2003-11-06 14:13) [28]>paul_k ©
Согласен. Я это для SQL.Add написал
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.01 c