2012-04-11 92 views
0

我有兩個表,我想獲取最後一個輸入日期。如何在php中獲取最後一個插入日期MYSQL

第一個表是seeker

seeker_nic-----username 
111-------------ali 
222-------------umer 
333-------------raza 

第二個是requestblood

id-------seeker_nic-----requireddate 
1------- 111 ----------2012/10/9 
2 ------- 222-----------2012/5/8 
3 ------ 111-----------2012/12/12 
4 ------- 111-----------2012/11/12 
5---------111-----------2012/09/09 
6 ------- 222-----------2012/7/9 
7 ------- 333 ----------2012/4/4 

現在,我想列出的用戶與他們的最後插入日期就像一個時間..

s.no---- username----- requireddate 
1------- ali---------- 2012/09/09 
2------- umer--------- 2012/7/9 
3------- raza--------- 2012/4/4 

我正在使用此查詢,但它顯示最大日期不是最新之一。

SELECT seeker.username, MAX(bloodrequest.requireddate) AS requireddate, COUNT(bloodrequest.requireddate) AS total 
FROM seeker 
JOIN bloodrequest 
    ON seeker.seeker_nic = bloodrequest.seeker_nic 
GROUP BY seeker.username 

這顯示了最大日期,它顯示了總日期。例如,111總共有「4」,但我不知道如何顯示最後插入的日期......我是PHP新手,請幫助我。 :(

在此先感謝

+1

請使用正確的標點符號和大小寫的StackOverflow是不是短信不管怎樣,你要對所有插入的最後日期選擇MAX(requireddate)FROM requestblood – Corbin 2012-04-11 19:18:31

+0

抱歉..馬克斯表現出極大的日期。。?。但我想要最後插入的日期.. @corbin – maham 2012-04-11 19:26:13

+1

哦,你的意思是你的字面意思是最後一行插入的日期?那麼你必須存儲它。 MySQL不會自動存儲那樣的信息。編輯:其實MySQL可能會存儲...編輯:看起來像SHOW TABLE STATUS可以使用,但它似乎對我來說很hacky。我會向表中添加一個新字段,然後在插入記錄時插入當前日期(可以使用TIMESTAMP並使用默認值自動執行)。 – Corbin 2012-04-11 19:27:08

回答

0

很簡單,但你需要使用子查詢 - 獲取行與去年ID(這將只工作,如果你有正確的索引 - 我想你)。

例如:

SELECT seeker_nic, username, 
(SELECT `requiredate` FROM `requestblood` WHERE `seeker_nic`=`seeker`.`seeker_nic` ORDER BY `id` DESC LIMIT 1) as `last_requiredate` 
FROM `seeker` 
相關問題