我有一张航类表,正在努力确定每个航类#降落的最后一个城市。
错误的查询是:
SELECT DISTINCT `flight_nmbr`, COUNT(record_id) AS Flights,
MIN(`depart_date_time`) AS `first_flight`,
MAX(`depart_date_time`) AS `last_flight`,
MAX(`location`) AS `current_location`
FROM history
GROUP BY `flight_nmbr`
HAVING records > 1
ORDER BY MAX(`depart_date_time`) DESC;
此声明将表明最后一个航类(飞机当前所在位置)是温斯顿-塞勒姆或曾斯维尔(MAX City 名称)。
我需要最后一个位置(从 MAX(depart_date_time) 开始的位置),即最后/最近的航类,即亚特兰大和休斯顿。
Microsoft Access 有一个最后的查询函数,但我们正在从 Access 迁移到使用 MySQL 和 PHP。
有人可以帮忙调整这个查询吗?
非常感谢!
最佳答案
您可以将子字符串与 GROUP_CONCAT 技巧一起使用
SELECT DISTINCT flight_nmbr,
COUNT(record_id) AS Flights,
MIN(depart_date_time) AS first_flight,
MAX(depart_date_time) AS last_flight,
SUBSTRING_INDEX(GROUP_CONCAT(location ORDER BY depart_date_time DESC),',',1) AS current_location
FROM history
GROUP BY flight_nmbr
HAVING records > 1
ORDER BY MAX(depart_date_time) DESC;
关于php - 通过查询获取 MySQL GROUP 中的最后一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040047/