簡體   English   中英

SQLAlchemy 聚合計數列每組最頻繁值

[英]SQLAlchemy aggregate count column most frequent value per group

假設我有一個包含col1col2列的表,我想按col1對該表的查詢進行分組,但聚合每個結果組的col2的最常見值。

例如我試過:

session.query(A.col1, func.count(A.col2)).group_by(A.col1).all()

但此查詢導致col2整體最頻繁值,而不是組自己的最頻繁值col2

我查看了幾個 SO 問題和文檔,但每次func.count()語句與group_by子句一起使用時,它們似乎都與同一列進行交互。 我怎樣才能實現按組應用的計數。

我還查看了一些涉及子查詢的建議解決方案,但對於這樣一個簡單的問題來說,這似乎過於復雜。

試試這個請

 session.query(A)
    .with_entities(A.col1, func.count(A.col2).label('count'))
    .group_by(A.col1).all()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM