SQLAlchemy ORM高级查询之过滤,排序
order_by,filter的语法。
用久了才会熟悉。
Session = sessionmaker(bind=engine)
session = Session()
print(session.query(Cookie.cookie_name, Cookie.quantity).first())
for cookie in session.query(Cookie).order_by(desc(Cookie.quantity)):
    print('{:3} - {}'.format(cookie.quantity, cookie.cookie_name))
# query = session.query(Cookie).order_by(Cookie.quantity)[:2]
query = session.query(Cookie).order_by(Cookie.quantity).limit(4)
print([result.cookie_name for result in query])
inv_count = session.query(func.sum(Cookie.quantity)).scalar()
print(inv_count)
rec_count = session.query(func.count(Cookie.cookie_name)).first()
print(rec_count)
rec_count = session.query(func.count(Cookie.cookie_name).label('inventory_count')).first()
print(rec_count.keys())
print(rec_count.inventory_count)
record = session.query(Cookie).filter(Cookie.cookie_name == 'chocolate chip').first()
print record
record = session.query(Cookie).filter_by(cookie_name='chocolate chip').first()
print(record)
query = session.query(Cookie).filter(Cookie.cookie_name.like('%chocolate%'))
for record in query:
    print(record.cookie_name)
results = session.query(Cookie.cookie_name, 'SKU-' + Cookie.cookie_sku).all()
for row in results:
    print(row)
query = session.query(Cookie.cookie_name, cast((Cookie.quantity * Cookie.unit_cost),
                                               Numeric(12, 2)).label('inv_cost'))
for result in query:
    print('{} - {}'.format(result.cookie_name, result.inv_cost))
query = session.query(Cookie).filter(
    Cookie.quantity > 23,
    Cookie.unit_cost < 0.40
    )
for result in query:
    print(result.cookie_name)
query = session.query(Cookie).filter(
    or_(
        Cookie.quantity.between(10, 50),
        Cookie.cookie_name.contains('chip')
        )
    )
for result in query:
    print(result.cookie_name)
输出:
()
 - oatmeal raisin
  - peanut butter
  - chocolate chip
  - chocolate chip
  - chocolate chip
  - chocolate chip
   - dark chocolate chip
   - molasses
   - dark chocolate chip
   - molasses
['dark chocolate chip', 'molasses', 'dark chocolate chip', 'molasses']
(,)
['inventory_count']
Cookie(cookie_name=, unit_cost=0.50)
Cookie(cookie_name=, unit_cost=0.50)
chocolate chip
chocolate chip
chocolate chip
dark chocolate chip
chocolate chip
dark chocolate chip
('chocolate chip', 'SKU-CC01')
('chocolate chip', 'SKU-CC01')
('chocolate chip', 'SKU-CC01')
('dark chocolate chip', 'SKU-CC02')
('molasses', 'SKU-MOL01')
('chocolate chip', 'SKU-CC01')
('dark chocolate chip', 'SKU-CC02')
('molasses', 'SKU-MOL01')
('peanut butter', 'SKU-PB01')
('oatmeal raisin', 'SKU-EWW01')
chocolate chip - 6.00
chocolate chip - 6.00
chocolate chip - 6.00
dark chocolate chip - 0.75
molasses - 0.80
chocolate chip - 6.00
dark chocolate chip - 0.75
molasses - 0.80
peanut butter - 6.00
oatmeal raisin - 100.00
peanut butter
chocolate chip
chocolate chip
chocolate chip
dark chocolate chip
chocolate chip
dark chocolate chip
peanut butter
SQLAlchemy ORM高级查询之过滤,排序的更多相关文章
- django orm高级查询 F表达式和Q表达式以及分组annotate
		
1.关联关系映射及查询1.1django默认开启延迟加载所有多对1和1对1如果不使用select_related(),需要会延迟加载获取到相关对象,因为延迟可能会造成n+1次查询的问题,所以便有了se ...
 - Oracle学习01-Oracle的基本查询和过滤排序
 - SQLAlchemy -高级查询
		
查询 # -*- coding: utf-8 -*- from sqlalchemy.orm import sessionmaker from SQLAlchemy.create import ...
 - Net/NetCore/.NET5 ORM 六大查询体系  - SqlSugar 高级篇
		
框架介绍 SqlSugar ORM是一款老牌国产ORM框架,生命力也比较顽强,从早期ORM不成熟阶段,一直存活到现在,我为什么要一直坚持,那是因为还有很多用户在使用,本来我能够较早推出新开源框架 ,可 ...
 - es的查询、排序查询、分页查询、布尔查询、查询结果过滤、高亮查询、聚合函数、python操作es
		
今日内容概要 es的查询 Elasticsearch之排序查询 Elasticsearch之分页查询 Elasticsearch之布尔查询 Elasticsearch之查询结果过滤 Elasticse ...
 - springboot整合Mangodb实现crud,高级查询,分页,排序,简单聚合
		
//linux安装mangodb教程:https://www.cnblogs.com/yangxiaohui227/p/11347832.html 1.引入maven 依赖 <dependenc ...
 - java整合Elasticsearch,实现crud以及高级查询的分页,范围,排序功能,泰文分词器的使用,分组,最大,最小,平均值,以及自动补全功能
		
//为index创建mapping,index相当于mysql的数据库,数据库里的表也要给各个字段创建类型,所以index也要给字段事先设置好类型: 使用postMan或者其他工具创建:(此处我使用p ...
 - mysql多条件过滤查询之mysq高级查询
		
一.什么是高级查询: ① 多条件的过滤查询 简单说,即拼接sql语句,在sql查询语句之后使用: where 条件1 and/or 条件2 and/or 条件3 - ② 分页查询 二.多条件过滤查询: ...
 - SQLAlchemy ORM之建表与查询
		
作了最基本的操作,找找感觉.. #coding=utf-8 from datetime import datetime from sqlalchemy import (MetaData, Table, ...
 
随机推荐
- android中paint的setXfermode属性
			
本文前半部分来自于:http://www.cnblogs.com/rayray/p/3670120.html 1.下面的Xfermode子类可以改变这种行为: AvoidXfermode 指定了一个 ...
 - 读书笔记-JVM
			
局部变量表(虚拟机栈中的一部分)在编译期完成分配,运行期不会再改变大小: 每个方法对应一个栈帧(存储局部变量表.操作数栈.动态链接.方法出口等),栈帧被存储到虚拟机栈中,每个线程对应一个虚拟机栈,方法 ...
 - python——常用功能之文本处理
			
前言 在生活.工作中,python一直都是一个好帮手.在python的众多功能中,我觉得文本处理是最常用的.下面是平常使用中的一些总结.环境是python 3.3 0. 基础 在python中,使用s ...
 - stty命令使用
			
stty [ -a ] [ -g ] [ Options ] stty(set tty)命令用于显示和修改当前注册的终端的属性. UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过 ...
 - React JS快速入门教程
			
翻译至官方文档<Tutorial>http://facebook.github.io/react/docs/tutorial.html 转载请注明出处:http://blog.csdn.n ...
 - ios 中NSDateFormater中的特殊字符
			
今天要把一个字符串转化为日期格式,这个字符串是服务器传过来的,如下: 2015-02-28T14:40:15 我开始使用这个格式来转化 yyyy-MM-ddThh:mm:ss ,一直返回nil,原来 ...
 - java sleep() 、yield()
			
1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据.注意该方 ...
 - Struts2常用标签
			
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
 - 汉企PHP开班
			
明天PHP正式开班,没什么大目标 ,在四个半月的时间吧基础知识掌握牢固,自信的面对企业.
 - mysql 删除重复数据保留只保留一条
			
SELECT * FROM (SELECT addTime FROM motorcade.car_msg_info GROUP BY addTime HAVING COUNT(addTime) > ...