Mysql 如何通过Django查询提取组中的行?
我有一张这样的桌子:Mysql 如何通过Django查询提取组中的行?,mysql,django,database,django-models,Mysql,Django,Database,Django Models,我有一张这样的桌子: EVENT ------------- user_id thumbnail_name 0 event/abc.jpg 0 event/efg.jpg 0 event/xyz.jpg 1 event/lmn.jpg 1 event/opq.jpg 2 event/rsf.jpg 如何按用户id分组并检索任意缩略图?预期产出: [ {user_id: 0, thumbnail_
EVENT
-------------
user_id thumbnail_name
0 event/abc.jpg
0 event/efg.jpg
0 event/xyz.jpg
1 event/lmn.jpg
1 event/opq.jpg
2 event/rsf.jpg
如何按用户id分组并检索任意缩略图?预期产出:
[ {user_id: 0, thumbnail_name: event/abc.jpg},
{user_id: 1, thumbnail_name: event/lmn.jpg},
{user_id: 2, thumbnail_name: event/rsf.jpg},
]
这在SQL中甚至可能实现吗?更不用说Django ORM了?在SQL Server中用于JSON AUTO
SELECT *
FROM EVENT
FOR JSON AUTO
如果您希望只返回一行,那么您可以在FOR JSON AUTO之后添加不带数组的包装器,在AUTO关键字之后添加逗号,您将得到一个对象而不是数组:
SELECT *
FROM EVENT
FOR JSON AUTO, Without_Array_Wrapper;
在MySQL中
SELECT json_object('user_id', user_id, 'thumbnail_name', thumbnail_name)
FROM EVENT;
元首修正案
SELECT JSON_ARRAYAGG(JSON_OBJECT('user_id', user_id, 'thumbnail_name', thumbnail_name)) from EVENT;
此语法未在中编译MySQL@Rage使用mysql版本更新,如果这不起作用,请告诉我您的查询现在已编译,但它不按用户id分组