我有一个mySQL表,可以将颜色存储在三列中;红色,绿色和蓝色。每列的值范围为0 - 255。我创建了一个查询,告诉我有多少独特的颜色值(只有大约200个),但我现在要做的是计算每个颜色值在我的表中出现的行数。
我想要的输出是:
enctype="multipart/form-data"
等等。我已尝试过来自网络上的10个不同的查询,但似乎没有人能够完成这项工作。有人可以帮忙吗?
哦,请注意我的桌子上有超过2亿个参赛作品,所以很快就能得到合理的评价:)
答案 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`完成工作