DB内のすべてのファミリの最新の履歴アイテム(特定のカテゴリから-1422)を取得する必要があります。私は周りにいくつかの例を見て、このクエリに行き着きました:
SELECT *, MAX(created_at)
FROM family_histories
WHERE family_history_cat_id = 1422
GROUP BY family_id
いいですか?
DB内のすべてのファミリの最新の履歴アイテム(特定のカテゴリから-1422)を取得する必要があります。私は周りにいくつかの例を見て、このクエリに行き着きました:
SELECT *, MAX(created_at)
FROM family_histories
WHERE family_history_cat_id = 1422
GROUP BY family_id
いいですか?
INNER JOINを使用して、各グループのMAXIDを取得することもできます
SELECT
fh.*
FROM family_histories
INNER JOIN (SELECT
family_history_cat_id,
MAX(created_at)
FROM family_histories
GROUP BY family_id) AS l
ON l.family_history_cat_id = fh.family_history_cat_id
WHERE fh.family_history_cat_id = 1422
試す
SELECT *
FROM family_histories
WHERE family_history_cat_id = 1422
GROUP BY family_id
ORDER BY created_at DESC
LIMIT 1