说我有下面的表格fruits:
id | type | name
-----------------
0 | apple | fuji
1 | apple | mac
2 | orange | navel
Run Code Online (Sandbox Code Playgroud)
我的目标是最终得到一个不同types的逗号和逗号分隔的列表names:
apple, 2, "fuji,mac"
orange, 1, "navel"
Run Code Online (Sandbox Code Playgroud)
这可以GROUP_CONCAT在MySQL中轻松完成,但我遇到了与Django等效的问题.这是我到目前为止,但我错过了GROUP_CONCAT这些东西:
query_set = Fruits.objects.values('type').annotate(count=Count('type')).order_by('-count')
Run Code Online (Sandbox Code Playgroud)
我想尽可能避免使用原始SQL查询.
任何帮助将不胜感激!
谢谢!=)
我有以下Postgres查询:
SELECT array_agg("Esns".id )
FROM public."Esns",
public."PurchaseOrderItems"
WHERE
"Esns"."PurchaseOrderItemId" = "PurchaseOrderItems".id
AND "PurchaseOrderItems"."GradeId"=2
LIMIT 2;
Run Code Online (Sandbox Code Playgroud)
限制将影响行.我希望它限制array_agg()为2项.以下查询有效,但我在输出中输入每个条目:
SELECT array_agg ("temp")
FROM (
SELECT "Esns".id
FROM public."Esns",
public."PurchaseOrderItems"
WHERE
"Esns"."PurchaseOrderItemId" = "PurchaseOrderItems".id
AND "PurchaseOrderItems"."GradeId"=2
LIMIT 4
) as "temp" ;
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出
{(13),(14),(15),(12)}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?