[英]SQL-Creation of a temporary table for calculation purposes
我想從我正在使用的應用程序表中獲取一些信息(讓我們稱之為表TICKETS)。 有兩列具有我需要的信息,MODIFIED和CREATED。 創建是創建故障單的時間,修改是修改相同故障單的時間(顯然)。 我的問題是如何獲得當天每分鍾卡住的門票數量(已創建但尚未修改)?
CREATED | MODIFIED
1/1/2016 2:02:42 | 1/1/2016 2:02:48
1/1/2016 2:04:23 | 1/1/2016 2:06:02
我的想法是創建一個新表(讓我們稱之為RESULT),其中所有HH的值都為TIME:每天的MM,第二列的結果為:SUM((CREATED <= TIME)AND(MODIFIED) > TIME))對於TICKET表的所有行。
TIME | RESULT
HH:MM | SUM((CREATED<=TIME) AND (MODIFIED>TIME))
我的問題是我如何實現這樣的事情?
有更好的方法嗎?
不完全是你想要的,但由於這是一個困難的要求,我認為每一點都有幫助。
當你至少賣出一張票時,這個帶給你一天一天的票數。
SELECT
LPAD(EXTRACT(HOUR FROM created), 2, '0') || ':'
|| LPAD(EXTRACT(MINUTE FROM created), 2, '0') as timeOfDay,
COUNT(*) as ticketBuy
FROM t
GROUP BY
LPAD(EXTRACT(HOUR FROM created), 2, '0') || ':'
|| LPAD(EXTRACT(MINUTE FROM created), 2, '0')
ORDER BY timeOfDay;
明白 :
+-----------+-----------+
| TIMEOFDAY | TICKETBUY |
+-----------+-----------+
| 03:02 | 1 |
| 03:04 | 1 |
| 04:04 | 2 |
| 09:04 | 2 |
| 10:04 | 1 |
+-----------+-----------+
來自:
+--------------------+--------------------+
| CREATED | MODIFIED |
+--------------------+--------------------+
| 1/1/2016 3:02:42 | 1/1/2016 5:02:48 |
| 1/1/2016 3:04:23 | 1/1/2016 4:06:02 |
| 1/1/2016 4:04:23 | 1/1/2016 5:26:02 |
| 1/1/2016 4:04:23 | 1/1/2016 6:06:02 |
| 1/1/2016 9:04:23 | 1/1/2016 9:16:02 |
| 1/1/2016 9:04:53 | 1/1/2016 9:06:02 |
| 1/1/2016 10:04:23 | 1/1/2016 11:06:02 |
+--------------------+--------------------+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.