如何在多个记录的mysql中获取最新数据

时间:2016-12-01 05:50:54

标签: php mysql

我有一张桌子,每张唱片上都有一个日期,我想要做的就是在当然的日期获得最新的基础。该表具有唯一的id,该id等同于另一个表中的id

这是一个例子:

记录#1的日期为2016/11/11
记录#2的日期为2016/11/16

当我尝试使用此代码时,显然记录号2是最新数据:

select * from 
info join crew_documents_table on info.id = crew_documents_table.document_crew_id 
join crew_rank on info.crew_rank = crew_rank.crew_rank_id 
where crew_rank in ('1','2','3') 
and crew_status = '$crew_status' and vessel = '$vessel_name' group by full_name

在我获得最新记录后,我在这里有一个if statement,它将显示最新记录的日期。

这是我的if statement

的代码
 (($row['doc_type'] == '1') ? "$doc_number" : "") 

预计outpu将是:

record # 2 2016/11/16

2 个答案:

答案 0 :(得分:1)

使用Order by和Limit。这可以解决您的问题:

select * from 
info join crew_documents_table on info.id = crew_documents_table.document_crew_id 
join crew_rank on info.crew_rank = crew_rank.crew_rank_id 
where crew_rank in ('1','2','3') 
and crew_status = '$crew_status' and vessel = '$vessel_name' group by full_name
ORDER BY DATE_FIELD DESC
LIMIT 1;

答案 1 :(得分:0)

使用order by子句按特定顺序获取数据,如:

$your_query. "order by column_name desc LIMIT 1";

Limit Doc