zoukankan      html  css  js  c++  java
  • sql to sqlalchemy 转换

    select to_char(date_published, 'yyyymm') yo from blog group by yo;
    

    转换成sqlalchemy 语句

     
    可以使用 extract()
    In[3]: year_field = db.func.extract('year', ArticleModel.date_published)
    
    In[4]: month_field = db.func.extract('month', ArticleModel.date_published)
    
    In[5]: yonth_field = year_field *100+ month_field
    
    In[6]:print db.session.query(yonth_field.label('yonth'), db.func.count(1)).group_by('yonth')
    
    SELECT EXTRACT(year FROM article_meta.date_published)*:param_1 + EXTRACT(month FROM article_meta.date_published)AS yonth, count(:param_2)AS count_1 
    FROM article_meta JOIN article ON article_meta.id = article.id GROUPBY yonth
    

     也可以 可以通过 func 直接调用数据库支持的函数或存储过程

    
    
    yonth = db.func.to_char(ArticleModel.date_published,'yyyymm').label('yonth')
    archive_list =(db.session.query(yonth,                                 
        db.func.count(1)).group_by('yonth').all())
    
    
    

     感谢python 邮件列表中 jjx 提供帮助

     


    作者:GoodSpeed Cheng
    出处:http://www.cnblogs.com/cacique/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


  • 相关阅读:
    django2自动发现项目中的url
    Python中的__name__
    阻塞与非阻塞、同步与异步、I/O模型
    Python中的关键字的用法
    元类
    数据库介绍
    django+nginx+uwsgi 项目部署
    centos7安装mysql5.6
    MySQL5.7的新特性
    Python进行MySQL数据库操作
  • 原文地址:https://www.cnblogs.com/cacique/p/3056095.html
Copyright © 2011-2022 走看看