Таблица:
--
-- Структура таблицы `products`
--
CREATE TABLE IF NOT EXISTS `products` (
`id` int(11) NOT NULL,
`id_group` smallint(6) NOT NULL,
`unit` varchar(20) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `products`
--
INSERT INTO `products` (`id`, `id_group`, `unit`) VALUES
(1, 1, 'метры'),
(2, 2, 'литры'),
(3, 1, 'килограммы'),
(4, 1, 'метры'),
(5, 1, 'литры'),
(6, 2, 'килограммы'),
(7, 1, 'килограммы');
--
-- Индексы сохранённых таблиц
--
--
-- Индексы таблицы `products`
--
ALTER TABLE `products`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT для сохранённых таблиц
--
--
-- AUTO_INCREMENT для таблицы `products`
--
ALTER TABLE `products`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=8;
Запрос без джойнов:
SELECT `unit`, COUNT(DISTINCT `id_group`)
FROM `products`
GROUP BY `unit`