无法在列出用户php MYSQL的最大日期

时间:2012-04-11 20:30:33

标签: php mysql

我有两张桌子,我想得到最后一个输入日期。

The first table is seeker:

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

The second one is 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,bloodrequest.requireddate, 
 max( bloodrequest.bloodrequest_id ) AS maxdate
FROM seeker
JOIN bloodrequest ON seeker.seeker_nic = bloodrequest.seeker_nic
GROUP BY seeker.username

当我在phpmyadmin中运行此查询..它列出所有用户并显示每个用户的第一个插入日期..但我想要最后插入日期...我该怎么办...请我需要帮助:(< / p>

1 个答案:

答案 0 :(得分:0)

编辑真实答案:

不是很干净的sql,但它会为你提供你想要的结果。我确信有一种方法可以在group by中做得更好,但是这样可行。 :)

SELECT s.username,
(
    SELECT br1.requireddate 
    from bloodrequest as br1 
    where br1.bloodrequest_id = 
    (
        select max(br2.bloodrequest_id)
        from bloodrequest as br2 
        where br2.seeker_nic = s.seeker_nic
    )
) as requireddate
FROM seeker as s