我这里有问题
有没有办法在sql
查询中分解内容并在之后创建一个组?
实际上我想在sql查询中使用完全类似于php爆炸的函数,有没有办法做到这一点?
test{explode}test2{explode}test2{explode}test3{explode}test{explode}test
返回:
test `count 3`
test2 `count 2`
test3 `count 1`
这是一个方形小说:http://sqlfiddle.com/#!2/b318d/1
答案 0 :(得分:2)
您可以创建自己的函数,然后在查询中使用它
这是Federico Cargnelutti http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/
的一个例子CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
例如
SELECT SPLIT_STR(`field_name`, ',', 0)
FROM TEST
GROUP BY SPLIT_STR(`field_name`, ',', 0)