sql重複除外および列移行sql文


詳細
作業中に非常に実用的なsql文
データ:

userid  sid
sexgo	2145796903
sexgo	2145802359
sexgo	2145794277
sexgo	2145802357
sexgo	2145815136
sexgo	2145810994
uuwap	2145874581
uuwap	2145872602
uuwap	2145847304
uuwap	2145800783
uuwap	2145797838

取得する必要があるデータはuseridごとにsidが1つで、上のようなデータは2つしか欲しくありません.sql文は以下の通りです.
sqlserverのsql文:

select   *   from   unionsite   a   
where   not   exists
(select   1   from   unionsite   where   a.userid   =   userid   and   a.sid   >   sid)
and (userid='uuwap' or userid='sexgo')

mysqlのsql文:

select *,count(distinct userid) from unionsite group by userid

最後にsql文を実行したデータは、次のとおりです.
2145794277 sexgo
2145797838 uuwap
データ:
Sidデータ(validtotal)タイプ(searchType)
	
435466064	17100			c
2145900222	25699			c
2145900226	18505698		c
2145908186	798			c
2145909778	170			c
2145909800	4071			c
2145904011	2967164			p
2145874581	23			p
2145836931	13064841		p
2145800783	593122			p
2145900226	582085			p
2145907505	583524			p
2145847304	142			p
2145847304	0			e
2145907505	0			e
2145874581	0			e
2145900226	0			e
2145800783	0			e
2145836931	0			e
2145904011	0			e
2145874581	0			t
2145900226	45905			t
2145909800	6920			t
2145800783	42692			t
2145847304	7			t
2145797748	5750			t
2145805071	9534			t
435466064	17100			c
2145900222	25699			c
2145900226	18505698		c
2145908186	798			c
2145909778	170			c
2145909800	4071			c

同じsidで異なるタイプを1行に統合する必要があります.sql文は次のようになります.
mysqlもsqlserverもできます.

select statDate,a.sid,searchValue,themeValue,
clientValue,adValue,searchPrice,themePrice,clientPrice,adPrice,userid as username,u.domainAddr 
from  (  Select sid,statDate,   
case when searchtype='p' then validTotal else 0 end as searchValue, 
case when searchtype='t' then validTotal else 0 end as themeValue,  
case when searchtype='c' then validTotal else 0 end as clientValue,  
case when searchtype='a' then validTotal else 0 end as adValue,  
case when searchtype='p' then price else 0 end as searchPrice, 
case when searchtype='t' then price else 0 end as themePrice,  
case when searchtype='c' then price else 0 end as clientPrice,  
case when searchtype='a' then price else 0 end as adPrice  
from unionsitemonthreportdetail   where statdate='2008-08'   ) as  a , unionsite u 
where a.sid=u.sid order by searchValue+themeValue+clientValue+adValue DESC

最後のデータ:

2008-11	2145900226	0	0	18505698	0	0.00	0.00	1.50	0.00	moabcyicha	wap.moabc.com
2008-11	2145900226	0	0	18505698	0	0.00	0.00	1.50	0.00	moabcyicha	wap.moabc.com
2008-11	2145836931	13064841	0	0	0	1.30	0.00	0.00	0.00	andjiang	wap.ucfly.com
2008-11	2145904011	2967164	0	0	0	1.30	0.00	0.00	0.00	mmbcn	wap.mmb.cn
2008-11	2145800783	593122	0	0	0	1.20	0.00	0.00	0.00	uuwap	wapwz.cn
2008-11	2145907505	583524	0	0	0	1.30	0.00	0.00	0.00	yichaishd	yicha.cn
2008-11	2145900226	582085	0	0	0	1.20	0.00	0.00	0.00	moabcyicha	wap.moabc.com
2008-11	2145900226	0	45905	0	0	0.00	NULL	0.00	0.00	moabcyicha	wap.moabc.com
2008-11	2145800783	0	42692	0	0	0.00	NULL	0.00	0.00	uuwap	wapwz.cn
2008-11	2145900222	0	0	25699	0	0.00	0.00	0.50	0.00	moabcyicha	moabc.com
2008-11	2145900222	0	0	25699	0	0.00	0.00	0.50	0.00	moabcyicha	moabc.com
2008-11	435466064	0	0	17100	0	0.00	0.00	0.00	0.00	user84573	wap.wapsai.com
2008-11	435466064	0	0	17100	0	0.00	0.00	0.00	0.00	user84573	wap.wapsai.com
2008-11	2145805071	0	9534	0	0	0.00	NULL	0.00	0.00	181860	181860.com
2008-11	2145909800	0	6920	0	0	0.00	NULL	0.00	0.00	3gpp	3g.pp.cn
2008-11	2145797748	0	5750	0	0	0.00	NULL	0.00	0.00	tkwap	tkwap.com
2008-11	2145909800	0	0	4071	0	0.00	0.00	15.00	0.00	3gpp	3g.pp.cn
2008-11	2145909800	0	0	4071	0	0.00	0.00	15.00	0.00	3gpp	3g.pp.cn
2008-11	2145908186	0	0	798	0	0.00	0.00	0.16	0.00	[email protected]	http://3gwawa.com
2008-11	2145908186	0	0	798	0	0.00	0.00	0.16	0.00	[email protected]	http://3gwawa.com
2008-11	2145909778	0	0	170	0	0.00	0.00	5.00	0.00	[email protected]	ltmp3.cn
2008-11	2145909778	0	0	170	0	0.00	0.00	5.00	0.00	[email protected]	ltmp3.cn
2008-11	2145847304	142	0	0	0	1.00	0.00	0.00	0.00	uuwap	wap.wapwz.cn
2008-11	2145874581	23	0	0	0	1.00	0.00	0.00	0.00	uuwap	6.3nt.cn
2008-11	2145847304	0	7	0	0	0.00	NULL	0.00	0.00	uuwap	wap.wapwz.cn
2008-11	2145800783	0	0	0	0	0.00	0.00	0.00	0.00	uuwap	wapwz.cn
2008-11	2145874581	0	0	0	0	0.00	0.00	0.00	0.00	uuwap	6.3nt.cn
2008-11	2145874581	0	0	0	0	0.00	NULL	0.00	0.00	uuwap	6.3nt.cn
2008-11	2145847304	0	0	0	0	0.00	0.00	0.00	0.00	uuwap	wap.wapwz.cn
2008-11	2145836931	0	0	0	0	0.00	0.00	0.00	0.00	andjiang	wap.ucfly.com
2008-11	2145907505	0	0	0	0	0.00	0.00	0.00	0.00	yichaishd	yicha.cn
2008-11	2145904011	0	0	0	0	0.00	0.00	0.00	0.00	mmbcn	wap.mmb.cn
2008-11	2145900226	0	0	0	0	0.00	0.00	0.00	0.00	moabcyicha	wap.moabc.com

もう1つのsql文:

select case when price is null then 0 else price end as adPrice from t_client_stat