计算多列中的唯一项(颜色)

时间:2016-05-23 12:17:48

标签: mysql sql

我有一个mySQL表,可以将颜色存储在三列中;红色,绿色和蓝色。每列的值范围为0 - 255。我创建了一个查询,告诉我有多少独特的颜色值(只有大约200个),但我现在要做的是计算每个颜色值在我的表中出现的行数。

我想要的输出是:

enctype="multipart/form-data"

等等。我已尝试过来自网络上的10个不同的查询,但似乎没有人能够完成这项工作。有人可以帮忙吗?

哦,请注意我的桌子上有超过2亿个参赛作品,所以很快就能得到合理的评价:)

4 个答案:

答案 0 :(得分:3)

这应该是一个基本的group by查询:

select red, green, blue, count(*)
from t
group by red, green, blue;

答案 1 :(得分:2)

只需将所有3个颜色字段添加到选择列表和group by子句中,并将计数(*)添加到选择列表中。这将告诉您所有组合的计数:

select red, green, blue, count(*)
from table
group by red, green, blue

您可以在红色,绿色,蓝色列上添加复合索引,以加快查询速度。

答案 2 :(得分:0)

尝试以下代码

select count(distinct col1),count(distinct col2) from table_name

答案 3 :(得分:0)

SELECT red,green,blue, COUNT(*) AS count 
FROM colorsTable 
GROUP BY red,greenmblue

正如您所见,GROUP BY`完成工作