我有這樣的MySQL查詢:計算上最後一行的總持續時間在MySQL
SELECT CONCAT(u.lastname, ', ', u.firstname) AS Name, start.timestamp start, end.timestamp end, timediff(end.timestamp, start.timestamp) duration
from user u, user_group ug, (
select *, (
select event_id from event L2 where L2.timestamp>L1.timestamp and L2.user_bannerid=L1.user_bannerid order by timestamp limit 1
) stop_id from event L1
) start join event end on end.event_id=start.stop_id
where start.status='In' and end.status='Out' and u.user_bannerid = start.user_bannerid and ug.user_bannerid = u.user_bannerid and ug.group_id = start.group_id
它顯示是這樣的:
+----------------------------------------------------+---------------+
| Name | start | end | duration |
+----------------------------------------------------+---------------+
| User | 2011-11-24 02:12:05 | 2011-11-24 02:12:20 | 00:00:15 |
| User | 2011-11-28 21:46:54 | 2011-11-28 21:53:01 | 00:06:17 |
+----------------------------------------------------+---------------+
但我想最後一排顯示總持續時間數如下:
+----------------------------------------------------+---------------+
| Name | start | end | duration |
+----------------------------------------------------+---------------+
| User | 2011-11-24 02:12:05 | 2011-11-24 02:12:20 | 00:00:15 |
| User | 2011-11-28 21:46:54 | 2011-11-28 21:53:01 | 00:06:17 |
| | | | 00:06:32 |
+----------------------------------------------------+---------------+
有人可以幫我修改查詢,以顯示下一個持續時間的總和行?
請注意,如果可能的話,這可能是由應用程序邏輯比數據庫查詢更好地處理的東西。 – mellamokb
是的,它與@傑克的答案一起工作,即時通訊在vb.net的應用程序中登錄,以跟蹤學生在實驗室的總小時數。因此,管理員只需鍵入特定學生的用戶ID,然後將其所有日誌提取出來並顯示在底部....:D – user1012135