我有一个元数据表看起来像这样的:查找最高值列各组
+----------------------------+
| metadata |
+----+----------+------------+
| id | group_id | message_id |
+----+----------+------------+
| 1 | 1 | 5 |
+----+----------+------------+
| 2 | 2 | 6 |
+----+----------+------------+
| 3 | 1 | 8 |
+----+----------+------------+
| 4 | 2 | 10 |
+----+----------+------------+
对于每个group_id
,我想选择具有最高id
行所以我想回来:
+----------------------------+
| results |
+----+----------+------------+
| id | group_id | message_id |
+----+----------+------------+
| 3 | 1 | 8 |
+----+----------+------------+
| 4 | 2 | 10 |
+----+----------+------------+
我在想这将是这样的事情,但以下只返回行4
。从我想选择MAX(metadata.id)
SELECT
MAX(metadata.id)
FROM
metadata
GROUP BY
metadata.message_id
假设Metadatum
是一个ActiveRecord模型组,每组,并group
是belongs_to
关系,你将如何构建这个查询与AR?
通过AR我的意思是活动记录查询(即使用活动记录方法构建的查询)。 – dyln