group_by:根据某个字段进行分组,比如想要根据年龄进行分组,再统计每一组有多少人
having:对查找结果进一步过滤,类似于SQL语句的where

准备工作

from sqlalchemy import create_engine, Column, Integer, String, Float, Text, ForeignKey, DateTime, Enum
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship, backref # 数据库信息
host = '127.0.0.1'
port = '3306'
database = 'db_to_sqlalchemy'
username = 'root'
password = '123456' # 数据库类型+连接数据库的插件,这里使用的pymysql
DB_URI = f'mysql+pymysql://{username}:{password}@{host}:{port}/{database}' engine = create_engine(DB_URI) # 创建引擎
Base = declarative_base(engine) # 使用declarative_base创建基类
session = sessionmaker(engine)() class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True, autoincrement=True)
username = Column(String(50), nullable=False)
age = Column(Integer, default=0)
gender = Column(String(20), default='male') Base.metadata.drop_all() # 删除所有表
Base.metadata.create_all() # 创建表 user1 = User(username='user1', age=20, gender='male')
user2 = User(username='user2', age=21, gender='female')
user3 = User(username='user3', age=20, gender='secret')
user4 = User(username='user4', age=26, gender='male')
user5 = User(username='user5', age=19, gender='female')
session.add_all([user1, user2, user3, user4, user5])
session.commit()

group_by:将数据根据指定的字段进行分组,如:根据年龄 分组,统计每个组的人数

先看一下转化的SQL语句

查询返回数据

having:对返回数据进行二次过滤,类似于where,如:根据年龄 分组,统计每个组的人数,然后再删选出年龄大于25的数据

先看一下转化的SQL语句

查询返回数据

最新文章

  1. 如何在 ASP.NET MVC 中集成 AngularJS(2)
  2. 用纯css画个三角形
  3. web页面直接跳转至其他页面
  4. angularJs之模块化
  5. codeforces 630B Moore's Law
  6. 苹果Swift编程语言新手教程【中国版】
  7. Intelligent idea高效实用总结
  8. Socket TCP Server一个端口可以有多少个长连接?受到什么影响?linux最大文件句柄数量总结
  9. mysql zip 版安装
  10. hbmy周赛1--D
  11. RobotFramework下的http接口自动化Get Response header 关键字的使用
  12. Object-C 编程问题汇总
  13. OpenGL.教程
  14. ubuntu 百度云
  15. linux下如何编译安装gcc-8.3.0
  16. [leetcode]39. Combination Sum组合之和
  17. Linux 下 rt3070 无线网卡找不到 firmware 问题
  18. OLAP和OLTP的区别(基础知识) 【转】
  19. Matlab如何连接Oracle数据库及基本操作
  20. OpenGL3D图形、旋转、纹理、键盘移动、光照、滤波、透明(完整) 转自http://www.cnblogs.com/tiandsp/archive/2012/01/23/2329049.html

热门文章

  1. PHP随机产生10个100以内互不相同的正整数按从小到大的顺序输出
  2. 关于ORACLE的串行化隔离级别--来自ORACLE概念手册
  3. 利用JQuery一步步打造无缝滚动新闻
  4. 手摸手带你实现 小游戏<别踩白块儿 -- 内有游戏链接>
  5. python继承小demo
  6. Codeforces Round #608 (Div. 2) E. Common Number
  7. 未能从程序集“netstandard, Version=2.0.0.0......”中加载类型“...”。
  8. vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式
  9. zabbix监控win服务器
  10. SessionState的几种设置