mysql - 跨多个列计算唯一项目(颜色)

标签 mysql sql

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

我想要的输出是:

- red green blue count
- 000 000   000  12
- 255 000   000  56
- 000 255   000  45
- 255 255   255  97

等等。我已经尝试了来自网络和 SO 的大约 10 个不同的查询,但似乎没有一个能完成这项工作。谁能帮忙?

哦,请注意我的表有超过 2 亿个条目,所以如果速度相当快,我们将不胜感激 :)

最佳答案

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

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

关于mysql - 跨多个列计算唯一项目(颜色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37390826/

相关文章:

php - 在mamp中连接数据库1045时发生错误

MySQL 错误 1045 (28000) : Access denied for user 'bill' @'localhost' (using password: YES)

php - 使用 ORDER BY 时是否应该使用 LIMIT?

php - 在 php 中按升序排列的最后 20 个数据

mysql - 使用内部联接实现联合所有查询

android - 在 SQL Server 上使用参数和通配符

php - MySQL的插入查询在PHP失败

Sql Oracle 12c 触发器

mysql - 提取字符串的数字部分并获取列中的最大值

javascript - 弹出成功更新数据库 PHP