0

2 つのテーブルがあり、最後に入力した日付を取得したいと考えています。

最初の表は次のとおりですseeker

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

2 つ目は次の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 が初めてなので、助けてください。:(

前もって感謝します!

4

1 に答える 1

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`
于 2012-04-11T21:39:38.983 に答える