2010-12-16 30 views
1

有没有办法执行1个查询来选择所有项目(“SELECT * FROM t-shirts),按特定标准(”GROUP BY stylecolor“)对它们进行分组,但同时计算#个UNIQUE'color'项被组合在一起?我能做到这一点通过各风格 - >颜色循环和计数的项目数,但我想也许有这样做的更简单的方法。MySQL - 按标准分组并按组合在一起的项目数量 - 如何?

感谢。

PS解决:从GROUP BY中删除color,并使用“COUNT(distinct color)”:

SELECT *, COUNT (distinct color) FROM t-shirts GROUP BY style 

回答

1
SELECT COUNT(`field`), `style` FROM `t-shirts` GROUP BY `style` 

其中field是主键。

1

尝试SELECT style, COUNT(*) FROM t-shirts GROUP BY style

1
SELECT style, COUNT(*) AS cnt 
FROM `t-shirts` 
GROUP BY style 
1

计数是一组功能,并且可以与选择用*,以及:

SELECT *, COUNT(`field`) FROM `t-shirts` GROUP BY `style`