yrtimD
Guest
задАчка...
Допустим есть таблица:
tableSrc
------------------
id| os | ext | ...
------------------
1 | mac | bin |
2 | mac | gif |
3 | pc | gif |
4 | pc | pcx |
5 | pc | txt |
6 | pc | zip |
7 | mac | gif |
8 | pc | gif |
------------------
Как получить одним mysql-запросом такую табличку:
tableTrgt
--------
pc | 4
mac | 2
--------
???
Запрос
select os, count(*) as ext from tableSrc group by os order by ext desc
не катит, так как получается совсем не то:
--------
pc | 5
mac | 3
--------
Оптимизировать tableSrc возможности нет, кол-во всех возможных значений ext и os заранее неизвестно, в таблице более 10 тыс. записей.
P.S.
Из того, что я перепобовал, ближе всех оказался запрос
select os, count(*) from tableSrc group by os,ext
но count(*) конечно же считает другое
Допустим есть таблица:
tableSrc
------------------
id| os | ext | ...
------------------
1 | mac | bin |
2 | mac | gif |
3 | pc | gif |
4 | pc | pcx |
5 | pc | txt |
6 | pc | zip |
7 | mac | gif |
8 | pc | gif |
------------------
Как получить одним mysql-запросом такую табличку:
tableTrgt
--------
pc | 4
mac | 2
--------
???
Запрос
select os, count(*) as ext from tableSrc group by os order by ext desc
не катит, так как получается совсем не то:
--------
pc | 5
mac | 3
--------
Оптимизировать tableSrc возможности нет, кол-во всех возможных значений ext и os заранее неизвестно, в таблице более 10 тыс. записей.
P.S.
Из того, что я перепобовал, ближе всех оказался запрос
select os, count(*) from tableSrc group by os,ext
но count(*) конечно же считает другое