語法:
table_source
pivot(
聚合函式(value_column)
for pivot_column
in()
)將列轉化為行
寫個小示例 :比如按人統計該月份的考勤小時數
use然後新增一點兒測試資料[test]go
/****** object: table [dbo].[kaoqin] script date: 07/06/2017 15:44:34 *****
*/set ansi_nulls on
goset quoted_identifier on
gocreate
table
[dbo
].[kaoqin](
[autoid][
int]
identity(1,1) not
null
,
[username][
nvarchar
](50) null
, [dt
][datetime
]null
,
[hour][
int]
null,
constraint
[pk_kaoqin
]primary
keyclustered
(
[autoid
]asc
)with (pad_index =
off, statistics_norecompute =
off, ignore_dup_key =
off, allow_row_locks =
on, allow_page_locks =
on) on
[primary])
on[primary
]go
declare最後資料是這樣的@count
intset
@count=5
declare
@iint
set@i=0
declare
@riqi
datetime
set@riqi
=getdate
()while
@i<
@count
begin
set@riqi
=dateadd(day,1,@riqi
)
insert
into dbo.kaoqin values('
王二',@riqi, cast(rand()*
10as
int))
set@i=@i
+1end
傳統的辦法當然也可以解決,如下
select哪些下面重點來了 我們用pivotsum( case
when username='張三
'then hour else
0end )as'張三
',sum( case
when username='李四
'then hour else
0end ) as'李四
',sum( case
when username='王二
'then hour else
0end ) as'王二
'from dbo.kaoqin
函式 使用函式指標操作函式
設計乙個名為calculate 的函式,他接受兩個double 值和乙個指向函式的指標,而被指向的函式接受兩個double引數,並返回乙個double值 calculate 函式的型別也是double,並返回被指向的函式值用calculate 的兩個double引數計算得到的值。例如,假設add 函...
eval函式 php PHP eval函式使用介紹
eval echo hello world 上邊 等同於下邊的 echo hello world 在瀏覽器中都輸出 hello world 運用eval 要注意幾點 1.eval函式的引數的字串末尾一定要有分號,在最後還要另加乙個分號 這個分號是php限制 2.注意單引號,雙引號和反斜槓的運用。如果...
函式 函式使用效能
以便 defer 能在合適時機執行 錯誤的例子 func example 這地方有個問題,example 函式是乙個加鎖操作。m.unlock 只有在 example 函式結束的時候才執行,那麼每次迴圈實際上是執行m.lock 語句,這個時候解鎖操作會被延遲到函式結束。很顯然這個邏輯並不是我們想要的...