Подсчет кол-ва уникальных записей

iSlayter

Новичок
Подсчет кол-ва уникальных записей

Требуется узнать сколько записей с уникальным содержимым в поле `contentId` хранится в таблице.
Дамп таблицы:
CREATE TABLE `cms_content_categories` (
`contentCatId` int(3) NOT NULL auto_increment,
`contentId` int(11) NOT NULL default '0',
`contentCatNum` int(3) NOT NULL default '0',
PRIMARY KEY (`contentCatId`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

INSERT INTO `cms_content_categories` VALUES (1, 1, 2);
INSERT INTO `cms_content_categories` VALUES (2, 2, 2);
INSERT INTO `cms_content_categories` VALUES (3, 2, 1);
SQL:
SELECT DISTINCT COUNT( `contentId` ) AS `count`FROM `cms_content_categories`
В результате получаю значение 3 вместо 2. Что делаю неправильно?
 

iSlayter

Новичок
Хмм, а зачем GROUP BY? По совету товарища Wicked получился запрос удовлетворяющий требованиям. Или Вы всё же считаете что DISTINCT лучше не использовать? Какой запрос будет более ресурсоёмким?
 

Wicked

Новичок
iSlayter
про ресурсоёмкость тебе может рассказать explain двух вариантов твоего запроса. В данном случае, наверное, разница не сильно принципиальная с любых точек зрения.
 
Сверху