問題出自:http://community.csdn.net/expert/topic/3495/3495537.xml?temp=.9028894
原來表內容:
姓名 年齡 班級
----- ----------- ----------
張三 11 高一(2)
李四 12 高一(1)
王五 12 高一(2)
趙六 12 高一(2)
想得到的結果:
高一(1) 高一(2)
----------- -----------
1 3
--測試:
create
table
tb(姓名
varchar(5
), 年齡
int, 班級
varchar(10
))insert
into
tbselect'張三
',11,
'高一(2)
'union
allselect'李四
',12,
'高一(1)
'union
allselect'王五
',12,
'高一(2)
'union
allselect'趙六
',12,
'高一(2)
'--原始資料
select
*from
tb--如果班級並不多,可以靜態指出列的個數
select
'高一(1)'=
sum(
case
when班級=
'高一(1)
'then
1else
0end
),'高一(2)'=
sum(
case
when班級=
'高一(2)
'then
1else
0end
)from
tb--如果班級比較多,而且不知道班級名稱,使用下面動態語句
declare
@sql
varchar
(8000
)set@sql=''
select
@sql
=case
when
@sql=''
then
@sql+'
sum(case 班級 when
'''+班級+
'''then 1 else 0 end) as ['+
班級+']
'else
@sql+'
,sum(case 班級 when
'''+班級+
'''then 1 else 0 end) as ['+
班級+']
'end
from
tbgroup
by班級
order
by班級
ascexec('
select '+
@sql+'
from tb')
--刪除測試表
drop
table
tb
乙個關於SQL關聯條件問題
問題如下,以下兩段指令碼的執行計畫是否相同?指令碼一 select from t1 join t2 on t1.v1 t2.v2 and t1.v2 指令碼二 select from t1 join t2 on t1.v1 t2.v2 where t1.v2 在內連線時,兩段執行指令碼的執行計畫相同...
關於RubyMine使用的乙個問題
前幾天,我開啟rubymine的時候遇到了一件很不爽的事情,那就是所有新建的index.html.erb全部變成了純文字格式,沒有語法加亮也沒有語法提示.這個讓我很惱火,不過經過百般努力最終是搞定了.感謝萬能的google.這個到底是啥情況呢,原來是我在不知道啥時候點錯了啥東西導致rubymine中...
關於乙個sql的寫法
需求是這樣的 有個學生表 create table student id int primary key,name varchar2 200 有個成績表 create table score id int 對應與student 的 id 僅為測試,表結構也沒好好設計 math int,eng int...