我在MySQL表中有一个名为“ColorCode”的字段,其中包含以下值:
28373 GYY green
23423 HH red
23423 HH green
2343 QWE red
SKDJF blue
green
什么是SQL语句来显示每种颜色的出现次数,类似于受PHP影响的伪代码:
SELECT COUNT(*) FROM products GROUP BY END(EXPLODE(ColorCode));
答案 0 :(得分:4)
fugly,但是像这样
group by RIGHT(ColorCode, LOCATE(' ', REVERSE(ColorCode))
如果您经常运行此查询,请务必考虑将“最后”值拆分为自己的字段,以便至少可以对其进行索引。大表上的表现会很糟糕。
答案 1 :(得分:1)
这个怎么样:
GROUP BY SUBSTRING_INDEX(ColorCode,' ',-1);
虽然这不适用于你的上一个例子。
显然确实也适用于你的最后一个例子! :d