Страница 1 из 1

Select * from table

Добавлено: 22 мар 2004, 10:02
Maxim
Поскажыте пожалуста как правильнее сделать запрос, есть таблица 6 столбцов и 453 строк. В каждой ячейки храница номер. Надо вывисти сколько раз встречаеться каждый номер.Номера от 1 до 45.
Я сделал запрос но он обращяеться 270 раз к таблице.

Добавлено: 22 мар 2004, 12:15
chur
Пример для трёх колонок (num1, num2, num3):

Код: Выделить всё

select k.nm, t1.cc as sum1, t2.cc as sum2, t3.cc as sum3 from (((select num1 as nm from test union (select num2 as nm from test union select num3 as nm from test)) as k left join (select num1 as nm, count(num1) as cc from test group by num1) as t1 on k.nm=t1.nm) left join (select num2 as nm, count(num2) as cc from test group by num2) as t2 on k.nm=t2.nm) left join (select num3 as nm, count(num3) as cc from test group by num3) as t3 on k.nm=t3.nm order by k.nm;

Добавлено: 22 мар 2004, 19:53
Naeel Maqsudov
select n, count(*)
from (select pole1 n from table union select pole2 n from table... union pole6 n from table)
group by n

Правда такая инструкция редко где прокатит, тогда можно создать промежуточную таблицу, и выполнить вышеуказанное уже над ней.

В Access можно создать запрос на объединение, а потом сделать по нему запрос с группировкой.