Форум: "Базы";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
ВнизSQL Найти похожие ветки
← →
Malyatko (2002-01-10 17:26) [0]Здрайствуйте Господа! Пожалуйста, помогите. Есть база данных (*.gdb) в которой одна из таблиц имеет поле типа integer.
Как с помощю запроса или хранимой процедуры посчитать какое число встречается наиболие часто, и вернуть результат
подщета, вмести с числом которое считали в работающую програму.
C уважением Малятко.
← →
asafr (2002-01-10 17:30) [1]SELECT FIELD1, COUNT(*) FROM TABLE1
GROUP BY FIELD1
← →
Romkin (2002-01-10 17:46) [2]Рекомендую попробовать
create procedure sel_count
returns(max_count integer, max_Number integer)
as
declare variable counter integer;
declare variable number integer;
begin
max_count = 0;
for select count(numberField), NumberField
from NumberTable
group by NumberField
into :counter, :Number
do
if (max_count < conter) then
begin
max_count = counter;
max_number = number;
end
suspend;
end
Ну соотв, имена таблицы и полей - какие у тебя, и вроде работать будет...
← →
Praco (2002-01-10 17:48) [3]To asafr: неправильно
Вот как нужно:
/* Внутри процедуры, понятно*/
for
select field1, COUNT(field1) from table1
group field1
order by 2 desc
into :max_field1, :count_field1
do begin
suspend;
exit;
end
← →
asafr (2002-01-10 17:53) [4]Извиняюсь, если к IB6 не подходит. Я написал классический SQL без учета особенностей IB6, ибо совсем не силен в этом самом IB6.
← →
Desdechados (2002-01-10 20:15) [5]2 Romkin
инициализация max_count на минимальный отрицательный INT
← →
Alexandr (2002-01-11 06:54) [6]SELECT FIELD1, COUNT(*) FROM TABLE1
GROUP BY FIELD1
order by 2 desc
и возьми первую строку
а если у тебя последний Firebird то
SELECT first 1 FIELD1, COUNT(*) FROM TABLE1
GROUP BY FIELD1
order by 2 desc
будет всего одна строка
а если у тебя Interbase 6.5 (скажи где взял) то
SELECT FIELD1, COUNT(*) FROM TABLE1
GROUP BY FIELD1
order by 2 desc
rows 1
будет всего одна строка
← →
Romkin (2002-01-11 11:05) [7]2Desdechados (10.01.02 20:15)
Зачем? count выдает >=0
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c