我有一張表:
id roleid name linkman
1 2 中國 wjy
2 3 福建 abc
3 0 www
4 2 中國 eee
5 0 ddd
6 4 廣東 ijk
我想得到下面一張表;新建兩列;第一列是值,第二列是個數
linkname numcount
中國 2
福建 1
www(個人) 1
ddd(個人) 1
廣東 1
當roleid為0時就把linkman的值賦給linkname並標個(個人);當roleid不為0時,則把name的值賦給linkname; numcount則是統計它們出現的個數;
實現如下:
create
table
tb(id
int,roleid
int,name
varchar(10
),linkman
varchar(10
))insert
into
tb values(1
,2,'
中國','
wjy'
)insert
into
tb values(2
,3,'
福建','
abc'
)insert
into
tb values(3
,0,'
www',''
)insert
into
tb values(4
,2,'
中國','
eee'
)insert
into
tb values(5
,0,'
ddd',''
)insert
into
tb values(6
,4,'
廣東','
ijk')go
select
case
when
roleid =0
then
name +'
(個人)
'else
name
endlinkname,
count(1
) numcount
from
tb group
bycase
when
roleid =0
then
name +'
(個人)
'else
name
enddrop
table
tb/*
linkname numcount
---------------- -----------
ddd(個人) 1
www(個人) 1
福建 1
廣東 1
中國 2
(所影響的行數為 5 行)
*/
SQL 2008根據條件拆分列
在為人事局做報表過程中,遇到乙個棘手的問題,客戶要求把資料庫中的一列資料根據條件分成多列。比如 資料庫中有省份這麼一列資料 客戶要求根據省份分類,河北省一列 北京市一列 天津市一列,剩下的為其他,目標效果如下 手工編寫的sql語句version1.0版 select 河北 parsename pro...
SQL根據條件批量update更新字段案例
今天學會批量update語句,留下紀念一下 sql匯入一張城市表,其中有個字段是 區號,當前只有地級市有區號資訊,但要求其下屬的區縣都需加入區號資訊,手工處理太痛苦了。這段sql 由此而生,希望對有同樣需求的新手有幫助 1 update t citycode set telcode b.telcod...
根據字串分組
今天要做乙個根據字串分組,然後集體執行乙個操作,想了一上午,動態建立陣列什麼的,最後還是用了list。list alllist new arraylist string m1 a123 x1 string m2 a124 x1 string m3 a125 x2 string m4 a126 x2 ...