es = Employee.objects.filter(a few filters).aggregate(Max('Age'))
該查詢會給我最老的員工,所以我也想知道與該行相關的其他信息,例如id。Django:從聚合查詢中獲取其他字段的值
我該如何做到這一點?謝謝。
es = Employee.objects.filter(a few filters).aggregate(Max('Age'))
該查詢會給我最老的員工,所以我也想知道與該行相關的其他信息,例如id。Django:從聚合查詢中獲取其他字段的值
我該如何做到這一點?謝謝。
你並不需要聚集你只需要通過降訂購中世紀查詢設置
Employee.objects.filter(a few filters).order_by(['-Age'])[0]
會給你最古老的
或者,如果你有幾個老項目
age = None
for x in Employee.objects.filter(a few filters).order_by(['-Age']):
if age and age != x.Age:
break
age = x.Age
感謝您的回答,但我將不得不使用匯總函數 – user469652 2011-04-27 07:02:24
無論如何,最後,通過使用order_by -_-!解決了問題。謝謝。 – user469652 2011-04-27 12:15:21
使用annotate()
而不是aggregate()
。
你可以在你的問題更精確?混合id(主鍵)和聚合似乎是矛盾的(例如幾個員工可能有相同的最大('年齡') – VGE 2011-04-27 09:52:32