1

可能重复:
获取列的最大值所在的行

我的表如下所示:

Sales 
- id
- country_id
- location_id
- order_id
- created

现在我只想为每个 country_id、location_id 对返回一行(最新的,可以使用最高的 id 值或使用创建的日期时间字段)。

这可能在单个查询中吗?

4

2 回答 2

1
select * from (
  select * from mytable
  order by id desc) x
group by country_id, location_id;

这是一个 mysql-only 解决方案,但它之所以有效,是因为当您不聚合 mon group-by 列时,mysql 会为您提供它为每个组找到的第一行,如果您在分组之前对行进行排序,则会得到拖你要。

于 2012-11-25T01:08:42.060 回答
-1

这应该只是

select country_id, location_id, max(created)
from sales
group by country_id, location_id
于 2012-11-25T01:08:15.453 回答