在 SQL 中获取具有唯一目的地的最新数据
Posted
技术标签:
【中文标题】在 SQL 中获取具有唯一目的地的最新数据【英文标题】:Get latest data with unique destination in SQL 【发布时间】:2013-08-16 13:15:20 【问题描述】:我是 mysql 新手,我在 mysql 表中有这个表
我怎样才能产生这样的结果?
我想要的是获得具有唯一目的地和年份的最新时间戳。
我已经尝试过这个 mysql 查询,但似乎不起作用:
SELECT chp_destination, cde_name, chp_year, chp_from, chp_to, chp_budget_price_high, chp_medium_price_high, chp_luxury_price_high,
chp_budget_price_low, chp_medium_price_low, chp_luxury_price_low, chp_timestamp, chp_comment, MAX( chp_id ),
FROM crm_hotel_price
LEFT JOIN crm_destinations ON cde_id = chp_destination
GROUP BY chp_destination, chp_year
ORDER BY chp_id
【问题讨论】:
您可以在这里找到一个非常相似的问题和正确答案:***.com/questions/1181374/… 我查看了那个帖子问题,发现它与我需要的很接近,除了它还应该根据唯一的目的地和年份考虑最新的日期时间。顺便谢谢.. “似乎无法正常工作”并不是对问题的充分描述。请将示例数据和结果作为文本放入您的问题中。 Stack Overflow 的目标之一是成为可搜索的解决方案存储库,人们无法在另一个站点上搜索图像中的文本。此外,外部链接可能会意外过期。 【参考方案1】:试试这个:
SELECT *
FROM (SELECT chp_id, chp_destination, cde_name, chp_year, chp_from, chp_to, chp_budget_price_high,
chp_medium_price_high, chp_luxury_price_high, chp_budget_price_low, chp_medium_price_low,
chp_luxury_price_low, chp_timestamp, chp_comment
FROM crm_hotel_price
LEFT JOIN crm_destinations ON cde_id = chp_destination
ORDER BY chp_destination, chp_year, chp_id DESC) A
GROUP BY chp_destination, chp_year
【讨论】:
我尝试了您的查询,它产生了我想要的结果:)。无论如何,如果我添加相同的唯一目的地和年份,它会根据日期时间显示具有唯一目的地和年份的条目吗?顺便谢谢:) “A”是什么意思?在 GROUP BY 之前?你能解释一下你的查询吗?非常感谢人:) 这个有简单的方法吗?以上是关于在 SQL 中获取具有唯一目的地的最新数据的主要内容,如果未能解决你的问题,请参考以下文章