在使用 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表...