選擇我有以下的列的mysql表:MySQL在一個表
ID1,ID2,時間戳
ID2爲自增列項。 id2不是唯一的。所以你可能有以下行:
1,12,983475 2,12,092348 3,23,987455 4,23,908457
我需要得到以下行,其中時間戳是最新的id2。
即結果將是:
1,12,983475 3,23,987455
此外,數字987455和983475都只是虛構的......
幫助,請.. 。
選擇我有以下的列的mysql表:MySQL在一個表
ID1,ID2,時間戳
ID2爲自增列項。 id2不是唯一的。所以你可能有以下行:
1,12,983475 2,12,092348 3,23,987455 4,23,908457
我需要得到以下行,其中時間戳是最新的id2。
即結果將是:
1,12,983475 3,23,987455
此外,數字987455和983475都只是虛構的......
幫助,請.. 。
您可以使用子查詢與max()
骨料此:
select y.id1, y.id2, y.timestamp
from yourtable y
join (select id2, max(timestamp) maxtimestamp
from yourtable
group by id2
) y2 on y.id2 = y2.id2 and y.timestamp = y2.maxtimestamp
這可能會返回關係 - 如果您確實需要每個不同的id2
單行,則可以使用user-defined variables
建立行號。
謝謝你的指導..將測試並看看我怎麼走 – Hems 2015-03-25 22:38:59
SELECT ID2 FROM表ORDER BY MAX(時間戳)DESC LIMIT 0,1
感謝您的回覆,但這不會工作,因爲它只會返回一行 所以桌子結構可以是: 1,12,983475 2,12,092348 3,23,987455 4,23,908457 而答案是: 1,12,983475
和
3,23,987455
–
Hems
2015-03-25 22:39:58
選擇*從表ORDER BY時間戳DESC – 2015-03-30 14:49:06
選擇和限制使用最高(時間戳)
例如select * from table where timestamp =(從表中選擇max(timestamp))
感謝您的答覆,但這不會工作,因爲它只會返回一行。 – Hems 2015-03-25 22:39:37
有幫助的文章:http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row -per-group-in-sql/ – 2015-03-24 22:29:36