我有一个名为image_small的列,用于包含如下信息的表格图像:
image_small
/images/menu_items/148/5a13140f8ef4503f024d06231037c69e_medium.jpg
/images/menu_items/152/5a14444444444444424d06231037c69e_medium.jpg
...
我想在Mysql 5.1上使用innodb为上面的菜单项value(148)(假设为148-400)选择一个唯一值的计数,这样输出如下:
val count
148 5
101 4
152 1
整数值(148101152)不存在于列中,更不愿意循环。
有什么办法吗?似乎需要为“148”创建一个变量的概念,然后创建一个分组,但有点不清楚。
谢谢
最佳答案
我想你们所有的路径都是一样的。
select
substring_index(substring_index(str,'/',4),'/',-1) as val,
count(*) as `count`
from table
group by val
它看起来很管用,但我担心在大桌子上的表现。做些测试。
你能用这个值加一个字段吗?我想会更好。
关于mysql - sql按char(255)字段的子字符串中的值进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7100508/