code
2019-11-05 本文已影响0人
C_G__
CREATE TABLE [test](
[date] VARCHAR2,
[result] VARCHAR2);
-- 将纵向数据,横向统计
select date, max(win) '胜', max(loss) '负' from ( SELECT distinct date,
CASE result WHEN '胜' THEN count(result) ELSE 0 END win,
CASE result WHEN '负' THEN count(result) ELSE 0 END loss
FROM test group by date, result) group by date;
![](https://img.haomeiwen.com/i15047809/9e94bd682b9273af.png)
![](https://img.haomeiwen.com/i15047809/2ab6c70dfa2260e7.png)
将一个字段,拆成多个字段,再拼接成一个字段
将1,2,3一个字段拆成3行,然后找到对应的title,再拼接成一个字段
SELECT
'192.168.1.1' ,
SUBSTRING_INDEX( '192.168.1.1' , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( '192.168.1.1' , '.', 2 ),'.',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX( '192.168.1.1' , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( '192.168.1.1' , '.', -1 ) AS d
![](https://img.haomeiwen.com/i15047809/4b1818ad0a0e424e.png)
多行记录拼接成一行
select group_concat(title) from role where idnum in (select substring_index(substring_index(mr.role_idnum,',',r.idnum+1),',',-1) as idnum from member_role mr join (select (@ROW :=@Row + 1) as idnum from role,(select @Row:=-1) zz) r on r.idnum < (length(mr.role_idnum) - length(replace(mr.role_idnum,',',''))+1));
![](https://img.haomeiwen.com/i15047809/789fdccca08b033e.png)