亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我這樣寫為什么結果不對?

找了半天,也不知道哪兒出錯了,大牛們,幫我看看啊,主要是a.id=2時,數據為空
select user_name,
?? ?replace(
?? ?substring(substring_index(mobile, ',', a.id),char_length(substring_index(mobile, ',', a.id-1)) + 1),',','') as mobile
from tb_sequence a
??? cross join (
?? ??? ?select
?? ??? ??? ?user_name,
??????????? concat(mobile,',') as mobile,
??????????? length(mobile) - length(replace(mobile,',', ''))+1 size
?? ??? ?from user1 b
??? ) b on a.id <= b.size;

正在回答

2 回答

不清楚你的表結構是什么,所以很難去說哪里出錯了。但是用數據庫最好還是少用函數,這樣的話性能會大大的提高,盡量把函數的方法用代碼解決

0 回復 有任何疑惑可以回復我~
#1

wzh89727 提問者

非常感謝!
2017-01-10 回復 有任何疑惑可以回復我~
/*
Navicat?MySQL?Data?Transfer

Source?Server?????????:?127.0.0.1_3306
Source?Server?Version?:?50553
Source?Host???????????:?127.0.0.1:3306
Source?Database???????:?test

Target?Server?Type????:?MYSQL
Target?Server?Version?:?50553
File?Encoding?????????:?65001

Date:?2017-07-05?16:37:02
*/

SET?FOREIGN_KEY_CHECKS=0;

--?----------------------------
--?Table?structure?for?tb_sequence
--?----------------------------
DROP?TABLE?IF?EXISTS?`tb_sequence`;
CREATE?TABLE?`tb_sequence`?(
??`id`?int(11)?NOT?NULL?AUTO_INCREMENT,
??PRIMARY?KEY?(`id`)
)?ENGINE=MyISAM?AUTO_INCREMENT=10?DEFAULT?CHARSET=utf8?COMMENT='排序表ID要大于分割的逗號';

--?----------------------------
--?Records?of?tb_sequence
--?----------------------------
INSERT?INTO?`tb_sequence`?VALUES?('1');
INSERT?INTO?`tb_sequence`?VALUES?('2');
INSERT?INTO?`tb_sequence`?VALUES?('3');
INSERT?INTO?`tb_sequence`?VALUES?('4');
INSERT?INTO?`tb_sequence`?VALUES?('5');
INSERT?INTO?`tb_sequence`?VALUES?('6');
INSERT?INTO?`tb_sequence`?VALUES?('7');
INSERT?INTO?`tb_sequence`?VALUES?('8');
INSERT?INTO?`tb_sequence`?VALUES?('9');

--?----------------------------
--?Table?structure?for?user_kills
--?----------------------------
DROP?TABLE?IF?EXISTS?`user_kills`;
CREATE?TABLE?`user_kills`?(
??`id`?smallint(5)?unsigned?NOT?NULL?AUTO_INCREMENT,
??`user_id`?smallint(5)?unsigned?DEFAULT?NULL,
??`timestr`?timestamp?NOT?NULL?DEFAULT?CURRENT_TIMESTAMP,
??`kills`?smallint(5)?unsigned?DEFAULT?NULL,
??PRIMARY?KEY?(`id`)
)?ENGINE=MyISAM?AUTO_INCREMENT=10?DEFAULT?CHARSET=utf8;

--?----------------------------
--?Records?of?user_kills
--?----------------------------
INSERT?INTO?`user_kills`?VALUES?('1',?'2',?'2013-01-10?00:00:00',?'10');
INSERT?INTO?`user_kills`?VALUES?('2',?'2',?'2013-02-01?00:00:00',?'2');
INSERT?INTO?`user_kills`?VALUES?('3',?'2',?'2013-02-05?00:00:00',?'12');
INSERT?INTO?`user_kills`?VALUES?('4',?'4',?'2013-01-10?00:00:00',?'3');
INSERT?INTO?`user_kills`?VALUES?('5',?'4',?'2013-02-11?00:00:00',?'5');
INSERT?INTO?`user_kills`?VALUES?('6',?'2',?'2013-02-06?00:00:00',?'1');
INSERT?INTO?`user_kills`?VALUES?('7',?'3',?'2013-01-11?00:00:00',?'20');
INSERT?INTO?`user_kills`?VALUES?('8',?'2',?'2013-02-12?00:00:00',?'10');
INSERT?INTO?`user_kills`?VALUES?('9',?'3',?'2013-02-07?00:00:00',?'17');

--?----------------------------
--?Table?structure?for?user1
--?----------------------------
DROP?TABLE?IF?EXISTS?`user1`;
CREATE?TABLE?`user1`?(
??`id`?smallint(5)?unsigned?NOT?NULL?AUTO_INCREMENT,
??`user_name`?varchar(40)?DEFAULT?NULL,
??`over`?varchar(40)?DEFAULT?NULL,
??`mobile`?varchar(255)?NOT?NULL,
??PRIMARY?KEY?(`id`)
)?ENGINE=MyISAM?AUTO_INCREMENT=5?DEFAULT?CHARSET=utf8;

--?----------------------------
--?Records?of?user1
--?----------------------------
INSERT?INTO?`user1`?VALUES?('1',?'唐僧',?'旃檀功德佛',?'123456,456789,774411');
INSERT?INTO?`user1`?VALUES?('2',?'豬八戒',?'凈壇使者',?'987654,3216545,754123');
INSERT?INTO?`user1`?VALUES?('3',?'孫悟空',?'斗戰勝佛',?'123456789,654321,789');
INSERT?INTO?`user1`?VALUES?('4',?'沙僧',?'金身羅漢',?'789422,4456789,654321');

--?----------------------------
--?Table?structure?for?user2
--?----------------------------
DROP?TABLE?IF?EXISTS?`user2`;
CREATE?TABLE?`user2`?(
??`id`?smallint(5)?unsigned?NOT?NULL?AUTO_INCREMENT,
??`user_name`?varchar(40)?DEFAULT?NULL,
??`over`?varchar(40)?DEFAULT?NULL,
??PRIMARY?KEY?(`id`)
)?ENGINE=MyISAM?AUTO_INCREMENT=6?DEFAULT?CHARSET=utf8;

--?----------------------------
--?Records?of?user2
--?----------------------------
INSERT?INTO?`user2`?VALUES?('1',?'孫悟空',?'成佛');
INSERT?INTO?`user2`?VALUES?('2',?'牛魔王',?'被降服');
INSERT?INTO?`user2`?VALUES?('3',?'蛟魔王',?'被降服');
INSERT?INTO?`user2`?VALUES?('4',?'鵬魔王',?'被降服');
INSERT?INTO?`user2`?VALUES?('5',?'獅駝王',?'被降服');
SELECT?user_name?,
REPLACE(
substring(
		SUBSTRING_INDEX(mobile,',',a.id),?
		CHAR_LENGTH(SUBSTRING_INDEX(?mobile,',',a.id?-1?))+1),
',',''?)?as?mobile?
FROM?tb_sequence?a?
CROSS?JOIN(
		SELECT?user_name?,CONCAT(mobile,',')?as?mobile,
		LENGTH(mobile)-LENGTH(REPLACE(mobile,',',''))+1?size
		FROM?user1?b
)?b??on?a.id?<=?b.size;

sql語句是對的

3 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我這樣寫為什么結果不對?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號