2011-04-14 65 views
1

我想從數據庫中選擇django。django中的group by和aggregate

測試有很多測試結果。

我需要選擇最新的結局。

在SQL中我會用

select *,max(timeEnd) from testresult group by idTest 

,並獲得很好的答案怎樣才能讓Django的東西都提前

感謝。

回答

1

Django中的聚合相對簡單。下面是關於這個專題的文件:

http://docs.djangoproject.com/en/dev/topics/db/aggregation/

爲了實現Django的查詢,你可能會寫類似:

from django.db.models import Max 
TestResult.objects.values('idTest').annotate(Max('timeEnd')) 
+2

但聚合函數獲取值,我需要的元素 – shevski 2011-04-14 12:37:02

+0

只取出.values()部分,並返回對象:'TestResult.objects.annotate(Max('timeEnd'))' – alanjds 2013-04-05 14:03:45

+0

b沒有值的部分,你如何定義組 – rtpg 2013-08-19 07:27:45

0

你甚至可以使用原始的SQL如果它變得更復雜檢查this