PDA

Просмотр полной версии : Select * from table



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

chur
22.03.2004, 12:15
Пример для трёх колонок (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;

Naeel Maqsudov
22.03.2004, 19:53
select n, count(*)
from (select pole1 n from table union select pole2 n from table... union pole6 n from table)
group by n

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

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