我有一個元數據表看起來像這樣的:查找最高值列各組
+----------------------------+
| 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