我已经尝试了一些我见过的让 GROUP BY 和 ORDER BY 一起工作的选项......但我无法获得正确的结果。
feeding_types table
id
type
quantity
feeding_id
feedings table
id
data_entry_id
查询的基本部分返回以下内容:
id type feeding_id
15236 dried_comm 13499
15237 dried_comm 13500
15286 dried_comm 13543
15287 dried_comm 13544
15294 tinned_comm 13550
15295 dried_comm 13551
15296 dried_comm 13552
我想要做的是使用 GROUP BY 从这些结果中获取最新的 dry_comm 和 tinned_comm 记录,并过滤掉其余的。
我试过这个:
SELECT ft . * , MAX( ft.id ) ID
FROM feeding_types ft
INNER JOIN feeding_types ft2 ON ft2.id = ft.ID
JOIN feedings f1 ON ft.feeding_id = f1.id
WHERE f1.data_entry_id = 15758
GROUP BY ft.type
ORDER BY ID DESC
这导致:
id type feeding_id ID
15236 dried_comm 13499 15296
15294 tinned_comm 13550 15294
编辑:预期结果将是 id 类型 feed_id ID 15296 dry_comm 13552 15296 15294 tinned_comm 13550 15294
任何想法如何让它正常工作?