如何根据最新日期

时间:2016-09-19 11:12:45

标签: mysql

我正在尝试获取最新记录。如果我不包含“CustFile.optin”,它可以正常工作但是一旦我添加了这个字段,它就会给我所有的记录。你能帮忙吗?

SELECT BEST.fname, BEST.lname, BEST.email, MAX(CustFile.status_date), CustFile.optin
FROM  BEST, CustFile
WHERE BEST.email = CustFile.email
GROUP BY BEST.fname, BEST.lname, BEST.email, CustFile.optin

答案:

fname    lname      email    optin  date
a.fname  a.lname    aa@email    y   01/08/2015
b.fname  b.lname    bb@email    n   16/06/2016

1 个答案:

答案 0 :(得分:0)

为什么不简单地选择行WHERE MAX(CustFile.status_date) = CustFile.status_date

SELECT * 
FROM BEST, CustFile 
WHERE 
    BEST.email = CustFile.email AND 
    MAX(CustFile.status_date) = CustFile.status_date

或者按日期排序(desc),只选择@ Paul-Spiegel所说的最顶层

SELECT * 
FROM BEST, CustFile 
WHERE BEST.email = CustFile.email
ORDER BY status_date DESC 
LIMIT 1