Board logo

標題: 關於資料統計與計算的SQL指令 [打印本頁]

作者: 小誌    時間: 2013-1-9 16:23     標題: 關於資料統計與計算的SQL指令

最近有一個SQL組合指令一直困擾著小弟,下圖中,上方為員工請假表
年終了要結算請假日數並出現相關統計資料
[attach]13857[/attach]

可能有年紀了,腦筋打死結
想請教各位,如要獲得上圖的資料統計結果,SQL指令該如何組合?
[attach]13858[/attach]
作者: HUNGCHILIN    時間: 2013-1-9 22:06

小誌好
有序號,日期,原因。有這几欄用SQL無法合併與計算
作者: Min    時間: 2013-1-10 06:50

不知道這樣行不行~

select max(序號), max(請假日), 姓名, 性別, max(年齡), 原因, count(*)
from table_name
group by 姓名, 性別, 原因
作者: c_c_lai    時間: 2013-1-10 07:34

回復 1# 小誌
請參考下列網址的 "Practice Exercise #3:" 範例 (位在文章最後):
The syntax for the SQL COUNT function
作者: diabo    時間: 2013-1-10 10:20

本帖最後由 diabo 於 2013-1-10 10:22 編輯

回復 1# 小誌

不考慮效能的話,利用子查詢可以作到....
PS
1 將資料移到【DB工作表】
2 你的測試資料有點問題,序號與請假日應該都要由小到大才合理...

select tmpTable2.序號2,tmpTable2.請假日2,tmpTable2.姓名2, tmpTable.性別,tmpTable2.年齡2, tmpTable.原因,tmpTable2.請假數2 from ((select max(序號) as 序號2, max(請假日) as 請假日2, 姓名 as 姓名2, max(年齡) as 年齡2, count(*) as 請假數2 FROM [DB$A:F] GROUP BY 姓名) tmpTable2),((select * From [DB$A:F]) tmpTable) Where tmpTable2.序號2=tmpTable.序號
作者: 小誌    時間: 2013-1-10 11:49

感恩各位的協助,測試後向各位回報,再次感謝!!

20130111更新回報
diabo的作法成功,非常感恩!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)