簡體   English   中英

我如何將其轉換為peewee

[英]How do I convert this into peewee

我有這個SQLquery,我目前正在像這樣的peewee中執行它

sql = "select DATE(inserted) Date, COUNT(*) totalCount FROM tbl_rss_region GROUP BY DATE(inserted)"

db.execute_sql(sql)

是否可以將其作為db.select(DATE(tbl_rss_region.inserted)....)語句注銷?

我已經嘗試過了,但是它並沒有按日期對它們進行分組,也沒有考慮時間,所以它給了我錯誤的值:

for l in TBL_RSS_REGION.select(TBL_RSS_REGION.inserted, fn.COUNT(TBL_RSS_REGION.id).alias("count")).group_by(TBL_RSS_REGION.inserted):
    print l.inserted, l.count

2015-08-31 09:31:33.530000 1
2015-08-31 09:31:33.538000 1
2015-08-31 09:31:33.549000 1
2015-08-31 09:31:33.561000 1
2015-08-31 09:31:33.569000 1

解決的辦法是截斷。

TBL_RSS_REGION.select(db.truncate_date("day", TBL_RSS_REGION.inserted), fn.COUNT(TBL_RSS_REGION.id).alias("count")).group_by(
            db.truncate_date("day", TBL_RSS_REGION.inserted))

另一種選擇是寫:

TRS = TBL_RSS_REGION  # ew all caps, wtf bro
query = (TRS
         .select(
             fn.DATE(TRS.inserted).alias('day'),
             fn.COUNT(TRS.id).alias('count'))
         .group_by(fn.DATE(TRS.inserted)))

您使用了fn.COUNT ,也許您不知道可以將其與任何任意SQL函數一起使用嗎?

暫無
暫無

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

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