0
我有兩張表,第一張是關於股票每分鐘價格的數據表。它由六個欄目組成,日期和時間,開盤價格,最高價格,最低價格和收盤價格。我想在兩天之間的時間間隔內識別數據
表數據
ID Field1 Field2 Field3 Field4 Field5 Field6
2 2016.02.17 11:36:00 PM 1.42918 1.42924 1.42904 1.4292
3 2016.02.17 11:37:00 PM 1.42919 1.42922 1.42886 1.42912
4 2016.02.17 11:38:00 PM 1.42911 1.42917 1.42902 1.42917
5 2016.02.17 11:39:00 PM 1.42918 1.42918 1.42887 1.42904
第二表由七列,日期和六個不同的時間。
表時間
ID Field1 Field2 Field3 Field4 Field5 Field6 Field7
2 2016.01.02 5:35:00 AM 6:58:00 AM 12:25:00 PM 3:30:00 PM 5:52:00 PM 7:22:00 PM
3 2016.01.03 5:35:00 AM 6:58:00 AM 12:25:00 PM 3:30:00 PM 5:53:00 PM 7:22:00 PM
4 2016.01.04 5:36:00 AM 6:59:00 AM 12:26:00 PM 3:31:00 PM 5:53:00 PM 7:23:00 PM
5 2016.01.05 5:36:00 AM 6:59:00 AM 12:26:00 PM 3:31:00 PM 5:54:00 PM 7:24:00 PM
我做的四個查詢工作,以獲得股票價格在第二個表顯示的日期指定時段,開盤價,最高價和其成果的時候,最低價格和時間,成就時間以及收盤價。
查詢1
SELECT
First(Times.Field1) AS [Date], First(Times.Field2) AS FirstOfField2,
First(Times.Field6) AS FirstOfField6, First(Data.Field3) AS [Open],
Max(Data.Field4) AS [Max], Min(Data.Field5) AS [Min], Last(Data.Field6) AS [Close]
FROM Data, Times
WHERE (
((Data.Field1)=[Times].[Field1])
AND ((Data.Field2) Between [Times].[Field2] And [Times].[Field6])
)
GROUP BY Times.ID;
結果1
Date FirstOfField2 FirstOfField6 Open Max Min Close
2016.02.19 5:29:00 AM 6:22:00 PM 1.43217 1.4337 1.42461 1.42653
2016.02.22 5:28:00 AM 6:23:00 PM 1.42744 1.42892 1.40567 1.41282
2016.02.23 5:27:00 AM 6:24:00 PM 1.4133 1.41527 1.40615 1.40813
查詢2
SELECT
First(Result.Date) AS [Date], First(Data.Field2) AS MaxTime,
First(Result.Max) AS MaxValue
FROM Data, Result
WHERE (
((Data.Field4)=[Result].[Max])
AND ((Data.Field1)=[Result].[Date])
AND ((Data.Field2) Between [Result].[FirstOfField2] And [Result].[FirstOfField6])
)
GROUP BY Result.Date;
結果2
Date MaxTime MaxValue
2016.02.18 3:21:00 PM 1.43938
2016.02.19 8:39:00 AM 1.4337
2016.02.22 8:37:00 AM 1.42892
個查詢3
SELECT
First(Result.Date) AS [Date], First(Data.Field2) AS MinTime,
First(Result.Min) AS MinValue
FROM Data, Result
WHERE (
((Data.Field5)=[Result].[Min])
AND ((Data.Field1)=[Result].[Date])
AND ((Data.Field2) Between [Result].[FirstOfField2] And [Result].[FirstOfField6])
)
GROUP BY Result.Date;
結果3
Date MinTime MinValue
2016.02.18 10:01:00 AM 1.42558
2016.02.19 4:32:00 PM 1.42461
2016.02.22 3:40:00 PM 1.40567`
查詢4(最終)
SELECT
First(Result.Date) AS [Date], First(Result.FirstOfField2) AS FirstOfFirstOfField2,
First(Result.FirstOfField6) AS FirstOfFirstOfField6, First(Result.Open) AS [Open],
First(Result.Max) AS MaxValue, First(Max.MaxTime) AS MaxTime, First(Result.Min) AS MinValue,
First(Min.MinTime) AS MinTime, First(Result.Close) AS [Close]
FROM Result, [Max], [Min]
WHERE (((Result.Max)=([Max].[MaxValue])) AND ((Result.Min)=([Min].[MinValue])))
GROUP BY Result.Date;
結果4(最終)
Date FirstOfFirstOfField2 FirstOfFirstOfField6 Open MaxValue MaxTime MinValue MinTime Close
2016.02.18 5:30:00 AM 6:22:00 PM 1.42989 1.43938 3:21:00 PM 1.42558 10:01:00 AM 1.43572
2016.02.19 5:29:00 AM 6:22:00 PM 1.43217 1.4337 8:39:00 AM 1.42461 4:32:00 PM 1.42653
2016.02.22 5:28:00 AM 6:23:00 PM 1.42744 1.42892 8:37:00 AM 1.40567 3:40:00 PM 1.41282
2016.02.23 5:27:00 AM 6:24:00 PM 1.4133 1.41527 11:41:00 AM 1.40615 5:47:00 PM 1.40813
,我所面臨的問題,當我想確定兩個不同的t imes在兩個不同的日期之間。
示例:何時需要分析數據在時間間隔從2016年2月17日晚上11時至2016年6月18日凌晨05:00 – leeamra
怎麼樣 ...........? – leeamra