我有一个 mysql 表,其中包含字母数字内容。该数字的格式准确为“/prop/xx/xxx”,因此我使用“子字符串”来提取它们。但我需要按描述对它们进行分组和排序。
所以我理想的代码是这样的
SELECT SUBSTRING(`page_url`,10,3) as pid from `prop_log` group by pid order by pid
我知道这段代码是不可能的,但是有什么建议吗?
PS。 page_url 中的数字可以是 4 位或更多最佳答案
你没有聚合函数,所以你应该使用distinct而不是group by
SELECT distinct SUBSTRING(`page_url`,-3) as pid
from `prop_log`
order by pid
如果您只需要带有数字的行
SELECT distinct SUBSTRING(`page_url`,-3) as pid
from `prop_log`
WHERE `page_url` REGEXP '[0-9]'
order by pid
以及行数
SELECT SUBSTRING(`page_url`,-3) as pid
from `prop_log`
WHERE `page_url` REGEXP '[0-9]'
group by SUBSTRING(`page_url`,-3)
order by count(*)
关于mysql - 对字符串列中的数字进行分组和比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518952/