Re: [SQL ] 請問如何相減再 group 起來?

看板Database作者 (亞妹露~!!)時間8年前 (2015/09/10 09:21), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《fantasywater (prepare myself)》之銘言: : +-------+-------+--------+---------+ : | att1 | att2 | in/our | time | : +-------+-------+--------+---------+ : | A | B | in | 7:00 | : +-------+-------+--------+---------+ : | C | D | out | 7:50 | : +-------+-------+--------+---------+ : | A | B | out | 7:20 | : +-------+-------+--------+---------+ : | C | D | in | 7:10 | : +-------+-------+--------+---------+ : 請問如何下 SQL 計算時間差再 group 起來呢..? : 結果希望像下面這樣..苦手中.. : +-------+-------+-------------------+ : | att1 | att2 | time_diff | : +-------+-------+-------------------+ : | A | B | 10 | : +-------+-------+-------------------+ : | C | D | 40 | : +-------+-------+-------------------+ 分兩次查詢再 JOIN 起來相減 SELECT tb_in.att1 ,tb_in.att2 ,DATEDIFF(S ,tb_in.[time] ,tb_out.[time]) / 60 time_diff FROM ( SELECT att1 ,att2 ,[time] FROM dbo.tb WHERE [in/out] = 'in' ) AS tb_in INNER JOIN ( SELECT att1 ,att2 ,[time] FROM dbo.tb WHERE [in/out] = 'out' ) AS tb_out ON tb_in.att1 = tb_out.att1 AND tb_in.att2 = tb_out.att2 如果你的 att1 & att2 會有多次,就要再加工一下。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.71.95.102 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1441848113.A.ACA.html

09/13 09:05, , 1F
可以了 感謝!!
09/13 09:05, 1F
文章代碼(AID): #1LyDinhA (Database)
文章代碼(AID): #1LyDinhA (Database)