0

ベースから最後のレコード wherecode = variableとを取得する必要がありcomplete = 0ます。

私はこのSQLを使用します:

SELECT email, date FROM users_recovery WHERE restore_key = '" . $code . "' AND complete = '0'

DB の例:

email - code - complete - date
test@email - code1 - 0 - 1111111
test@email - code2 - 0 - 2222222

変数$codeがDBの値の1つである場合、クエリは完全に機能しますが、このメールの最後のレコードかどうかも確認する必要がありますが、方法がわかりません.

4

3 に答える 3

0

これを試して...

SELECT b.email, b.date, b.complete, b.code
FROM   (SELECT email, 
               Max(date) AS date 
        FROM   users_recovery 
        GROUP  BY email
        WHERE  code = variable
               AND complete = 0) a 
       JOIN users_recovery b 
         ON b.email = a.email 
            AND b.date = a.date 
于 2013-03-20T17:57:58.753 に答える
0

ORDER BY結果を最後のレコードに制限するには、一緒に使用しLIMITます (つまり、ORDER BY 最新の日付):

SELECT 
    email, 
    date 
FROM 
    users_recovery 
WHERE 
    restore_key = '" . $code . "' 
AND complete = '0'
ORDER BY 
    date DESC
LIMIT 1
于 2013-03-20T17:48:50.230 に答える
0

MAX() で INNER JOIN を使用する

SELECT
  email,
  date
FROM users_recovery AS ur
  INNER JOIN (SELECT
        MAX(DAte) AS date
          FROM users_recovery) AS url
    ON url.date = ur.date
WHERE restore_key = '" . $code . "'
    AND complete = '0'
于 2013-03-20T18:17:45.487 に答える