【发布时间】:2014-09-05 00:16:13
【问题描述】:
我需要实现这样的查询:
Table1
|Id | Name |
| 1 | Peter |
| 2 | Andrew |
Table2
| Score | Table1Id |
| 10 | 1 |
| 20 | 1 |
| 100 | 1 |
| 0 | 2 |
| 30 | 2 |
我需要选择所有名称 {name, min_score, max_score}
{Peter, 10, 100}
{Andrew, 0, 30}
类似:
SELECT DISTINCT MIN(score), MAX(score) Table1.name FROM Table1, Table2 WHERE Table1.Id = Table2.Table1Id GROUP BY Table1.Name
在 ORM 中类似于:
Table2.objects.all().annotate(min_score=Min('score'), max_score=Max('score')).values('Table1.Name!!!!', 'min_score', 'max_score')
【问题讨论】:
-
你应该发布模型定义 - 你有一个从 Table2 到 Table1 的外键?
标签: sql django django-orm