mysql 一行多值取其中一个

FQCWXY 2014-08-24 09:30:17
如果test中country的第一个值为wo,则取下一个,如果都为wo,则取wo
create table test(id int,country varchar(500));
insert into test(id,country) values (1,'wo|wo|us|wo'); /*该行取us*/
insert into test(id,country) values (2,'cn|wo|jp'); /*该行取cn*/
insert into test(id,country) values (3,'uk'); /*该行取uk*/
insert into test(id,country) values (4,'an|wo|wo'); /*该行取an*/
insert into test(id,country) values (5,'wo|wo|wo'); /*该行取wo*/

麻烦高手指点下,这个该怎么实现。country的值数量不固定
...全文
381 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yl784248831 2014-08-25
  • 打赏
  • 举报
回复
用代码实现。。。。
SQL77 2014-08-25
  • 打赏
  • 举报
回复
自己写个函数了。
FQCWXY 2014-08-25
  • 打赏
  • 举报
回复
ACMAIN_CHM,因为我提问的少,有一次每结帖,加上这次就变的很低了。不好意思,提醒的极对,不知道能否帮忙解答否
SQL77 2014-08-25
  • 打赏
  • 举报
回复
CREATE TABLE test(id INT,country VARCHAR(500)); INSERT INTO test(id,country) VALUES (1,'wo|wo|us|wo'); /*该行取us*/ INSERT INTO test(id,country) VALUES (2,'cn|wo|jp'); /*该行取cn*/ INSERT INTO test(id,country) VALUES (3,'uk'); /*该行取uk*/ INSERT INTO test(id,country) VALUES (4,'an|wo|wo'); /*该行取an*/ INSERT INTO test(id,country) VALUES (5,'wo|wo|wo'); /*该行取wo*/ DROP FUNCTION IF EXISTS f_substr; DELIMITER // CREATE FUNCTION f_substr(country VARCHAR(500)) RETURNS VARCHAR(15) BEGIN -- declare @s varchar(15); -- DECLARE @t varchar(500); SET @t=country; SET @t=CONCAT('|',@t); IF CHAR_LENGTH(REPLACE(@t,'|wo',''))=0 THEN SET @s='wo'; ELSE SET @s=REPLACE(@t,'|wo',''); SET @S=TRIM(LEADING '|' FROM @s); SET @s=CONCAT(@s,'|'); SET @S=SUBSTRING(@s,1,LOCATE('|',@s)-1); END IF; RETURN @s; END // DELIMITER ; # SELECT * FROM test WHERE CONCAT('|', country ,'|') NOT LIKE '%\|wo|%' SELECT *,f_substr(country) FROM test ; /* id country f_substr(country) 1 wo|wo|us|wo us 2 cn|wo|jp cn 3 uk uk 4 an|wo|wo an 5 wo|wo|wo wo */ # select replace('wo|wo|wo','wo',''); # SELECT CHAR_LENGTH(REPLACE('|wo|wo|wo','|wo',''))
  • 打赏
  • 举报
回复
SELECT dwdm,SUBSTRING_INDEX(***,'|',1) sjdwdm FROM qx_qy
UNION
SELECT dwdm,SUBSTRING_INDEX(***,'|',-1) sjdwdm FROM qx_qy	
						
这是两个的,自己类推
ACMAIN_CHM 2014-08-24
  • 打赏
  • 举报
回复
FQCWXY 结帖率:33.33%

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧