我有一个名为image_small的列用于表格图像,其中包含以下信息:
image_small
/images/menu_items/148/5a13140f8ef4503f024d06231037c69e_medium.jpg
/images/menu_items/152/5a14444444444444424d06231037c69e_medium.jpg
...
我想使用innodb在Mysql 5.1上为上面的菜单项值(148)(假设148-400)选择唯一值的计数,以便输出如下:
val count
148 5
101 4
152 1
列中不存在整数值(148,101,152),而不是循环遍历。
关于如何做到这一点的任何想法?似乎需要为'148'创建一个变量的概念,然后创建一个但是有点无能为力的组。
THX
答案 0 :(得分:1)
我假设你的所有路径都有相同的格式。
select
substring_index(substring_index(str,'/',4),'/',-1) as val,
count(*) as `count`
from table
group by val
它似乎有用,但我担心大桌上的表现。做一些测试。 你能添加一个有这个值的字段吗?我认为会更好。