ORM查询一个表中有两个字段相同时,只获取某个值最大的一条
Table表如下:
获取表中name和hex值相同时age最大的那一条
ORM写法,两次查询
ids = table.values('name', 'age').annotate(id=Max('id')).values_list('id', flat=True) res = table.filter(id__in=ids).order_by('id')
SQL写法,未尝试
SELECT SUBSTRING_INDEX(GROUP_CONCAT(CONCAT_WS(',', name, Hex, Age) ORDER BY ID DESC SEPARATOR '|'), '|', 1) FROM table_name GROUP BY name, Hex
本文来自博客园,作者:长情不羁的五年,转载请注明原文链接:https://www.cnblogs.com/fivenian/p/16178079.html