Запрос с group by

Савелей

Новичок
Запрос с group by

Есть две таблицы ( фирмы, товары ) нужно из таблицы table_main
получить единожды строки для каждой фирмы где одинаковый model_prefix (который больше 2 символов) и число фирм в которых одинаковый model_prefix.

ниже привел свой запрос но у меня есть сомнения что это правильно, может есть варианты
лучше?

1) таблица - table_firm;

DROP TABLE IF EXISTS table_firm;
CREATE TABLE `table_firm` (
`firm_idx` int(11) NOT NULL auto_increment,
`firm_name` varchar(64) NOT NULL default '',
`type` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`firm_idx`),
KEY `idx_type` (`type`)
)

2) таблица - table_main;

DROP TABLE IF EXISTS table_main;
CREATE TABLE `table_main` (
`model_static_id` varchar(255) NOT NULL default '',
`model_title` varchar(255) NOT NULL default '',
`model_prefix` varchar(255) NOT NULL default '',
`firm_id` int(11) default '0',
`model_date_add` datetime NOT NULL default '0000-00-00 00:00:00',
UNIQUE KEY `idx_model_static` (`model_static_id`),
KEY `idx_firm_id` (`firm_id`),
KEY `idx_model_prefix` (`model_prefix`),
FULLTEXT KEY `full_text` (`model_title`)
)



PHP:
select *, count(distinct a.firm_idx) as cnt from table_main m, table_firm a where 
m.firm_id=a.firm_idx and length(model_prefix) > 2 
group by m.model_prefix
 

_Leonchik_

Новичок
например тут были хорошие мысли.
http://phpclub.ru/talk/showthread.php?s=&threadid=96282&rand=5
ну еще поиск по сайту
 
Сверху