0
分到這裏是例子:COUNT行的多個列
SELECT Item.purchase_transaction_id, ItemType.item_type, COUNT(Item.id)
FROM Item GROUP BY Item.purchase_transaction_id, Item.item_type_id
所以此查詢後,我想獲得該行的結果的總量或者你可以稱它爲結果COUNT
。我不知道如何使用SQL做到這一點,但與SQLAlchemy的我能做到這樣
q = db.session.query(Item.purchase_transaction_id, ItemType.item_type,
func.count(Item.id)).group_by(Item.purchase_transaction_id, Item.item_type_id)
,並獲得count
我只是叫q.count()
,但我猜這個人是不是有效的,因爲你首先調用查詢,然後才計算結果。
那麼,有沒有什麼有效的方法可以從GROUP BY
多列中獲得COUNT
行。
至於第一個,sql執行並找到所有的記錄,然後計算結果?它會有效嗎?至於第二個,我得到了這個錯誤'數量錯誤的函數COUNT():' – andiwin
@ kingathur61。 。 。並非所有的數據庫都支持具有多個參數的「count(distinct)」。另一個選項類似於:'count(diistnct concat(Item.purchase_transaction_id,':',ItemType.item_type))'。 –