0
我試圖(我們這裏的relational_id)找到所有的單個行對每個Item_ID
一個不同的或獨特的In_Column
值最大的時間戳,其中Item_Table
=「X」和的Timestamp
這個行的最高值爲In_Column
+ Item_ID
+ Item_Table
,但低於所提供的值。MySQL的每個Relational_ID選擇不同的列,其中低於X
sample_table
In_Column End_Value Item_Table Item_ID Timestamp
----------------------------------------------------------
Length 3 Pipe 3 2016-07-29 09:00:00
Length 2 Pipe 3 2016-07-30 09:00:00
Length 5 Pipe 4 2016-07-30 11:00:00
Kg 12 Pipe 3 2016-07-29 09:00:00
Kg 25 Steel 1 2016-07-29 09:00:00
理想的結果,如果提供的日期是當前時間和Item_Table = '管'
In_Column End_Value Item_Table Item_ID Timestamp
----------------------------------------------------------
Length 2 Pipe 3 2016-07-30 09:00:00
Length 5 Pipe 4 2016-07-30 11:00:00
Kg 12 Pipe 3 2016-07-29 09:00:00
的順序並不重要,因爲我將鑄造回報(這將是很大的,表中有很多匹配的行)放入一個數組中。
對不起,我沒有提供一個示例查詢,我玩過一些連接的LEFT JOIN,但是它們的執行時間可以理解很長,結果集並沒有像預期的那樣具體。
這裏是SQL小提琴示例http://sqlfiddle.com/#!9/36a2ab/1/0 – sajushko
謝謝,這正是我之後的事情!爲即時回覆,美觀的佈局以及爲其製作小提琴的額外努力而歡呼。所以這是用別名t1,t2創建'your_table'的臨時表,然後使用它們來匹配和繪製數據? – Elohim
就是這樣的。當你從select中使用inner join時,mysql會創建一些臨時表。 – sajushko