django 分組統計遇見的問題

2022-02-21 07:48:33 字數 949 閱讀 4094

在使用 django 的時候發現了乙個

例如:

in [54]: print(f.objects.all().values("age").annotate(fff=count("age")).query)

select "a_f"."age", count("a_f"."age") as "fff" from "a_f" group by "a_f"."age"

看上去也毫無問題,可是我換乙個表

in [56]: print(f.objects.all().values("attack_type").annotate(total=count("attack_type")).query)

select "b_f"."type", count("b_f"."type") as "total" from "b_f" group by "b_f"."id" order by "b_f"."id" desc

神奇的事情發生了.他竟然變成了order by "b_f"."id",而且還加上了order by "b_f"."id" desc,而且還會報錯:

通過查詢,找到乙個答案,django orm group by id

發現加上order_by()就可以避免這個問題.

in [58]: print( requestlogbasic.objects.all().values("type").annotate(total=count("type")).order_by("type").query)

select "b_f"."type", count("b_f"."type") as "total" from "b_f" group by "b_f"."type" order by "b_f"."type" asc

Django學習中遇見的問題總結

問題一 django 1.9 admin 產生 wsgirequest object has no attribute user 的錯誤 回答 配置admin時,產生 wsgirequest object has no attribute user 的錯誤 google了下,說是middleware...

問題 B 分組統計

問題 b 分組統計時間限制 1 sec 記憶體限制 32 mb 提交 416 解決 107 提交 狀態 討論版 命題人 外部匯入 先輸入一組數,然後輸入其分組,按照分組統計出現次數並輸出,參見樣例。輸入第一行表示樣例數m,對於每個樣例,第一行為數的個數n,接下來兩行分別有n個數,第一行有n個數,第二...

Mysql 解決 分組統計問題

我有四張表a b c d,a b c d a b a c a d d e 1 1 1 1 1 a a 1 2 2 1 3 2 b b 2 3 4 1 4 3 c c 3 4 6 2 1 4 d d 4 現在要用一條sql語句將a表所有的列,b表對與a表a欄位 相關聯的列求count,通過c表,將d表...