ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sqlachemy查询

2022-08-16 10:32:42  阅读:151  来源: 互联网

标签:sqlachemy 查询 filter func time query id tenant


    语句   0.选择select query 1.过滤(where) filter: 空值和非空筛选is_  .isnot dao_session.sub_session().query(XcEbikeGfence2.id).filter(XcEbikeGfence2.type == 1XcEbikeGfence2.deletedAt.is_(None)).all() filter_by: dao_session.session.time_db().query(TConfig).filter_by(service_id=service_id, root_router=router) or筛选 filter(TAlarmTickets.tenant_id == tenant_id, TAlarmTickets.service_id == service_id, or_(TAlarmTickets.state == FixState.TO_FIX.value, TAlarmTickets.state == FixState.FIXING.value and TAlarmTickets.operate_pin == pin)) and筛选 dao_session.session.tenant_db().query( TRidingCard ).filter( TRidingCard.pin == pin, TRidingCard.state == UserRidingCardState.USING.value, TRidingCard.iz_total_times == 0, or_(and_(TRidingCard.last_use_time < zeroToday, TRidingCard.last_use_time > lastToday), TRidingCard.last_use_time is None), ).update( { "remain_times": TRidingCard.rece_times, "last_use_time": datetime.now() } ((TFixTickets.state == 0) | ( (TFixTickets.state == FixState.FIXING.value) & (TFixTickets.operate_pin == pin)))) between范围 filter(TMoveOperation.created_at.between(start_time / 1000, end_time / 1000)) in filter(TAlarmTickets.tenant_id == tenant_id, TAlarmTickets.car_id == car_id, TAlarmTickets.state.in_(FixState.unfixed_list())) = is 值,.isnot filter(XcEbikeGfence2.type == 1,XcEbikeGfence2.deletedAt.is_(None)) 2.groupby分组 .filter( *car_filters).group_by(sql.func.date(XcMieba2CarAnalysis.created_at)) 3.order排序 .order_by(TMoveOperation.end_time.desc()).limit(show_num) 4.having分组筛选 .group_by(User.age).having(User.age < 18) 5.contains m = m.filter(TFixTickets.extra_info.contains(str(tp)))   5.添加筛选条件(多项)         query_filter = set()                query_filter = query_filter | {TChangeBattery.tenant_id == tenant_id, TChangeBattery.service_id == service_id,                          TChangeBattery.open_bat_box_time.between(start_time, end_time)}           query_filter = set()         query_filter.add(TChangeBattery.tenant_id == tenant_id)         query_filter.add(TChangeBattery.service_id.in_(service_ids))                if car_id:             query_filter.add(TChangeBattery.car_id == car_id)         res = dao_session.session.tenant_db().query(TChangeBattery).filter(*query_filter).order_by(             TChangeBattery.created_at.desc()).all()   6.批量插入       # 常见函数   from sqlalchemy import func, from sqlalchemy import sql, or_ and_ 计数:func.count 当前时间:func.now() 聚合:func.GROUP_CONCAT,func.group_concat 求和:sql.func.sum 非空:sql.func.ifnull  给空值赋值   sql.func.ifnull(sql.func.sum(XcEbikeUserOrder.cost) / 100, 0) 日期: sql.func.date 绝对值:sql.func.abs

标签:sqlachemy,查询,filter,func,time,query,id,tenant
来源: https://www.cnblogs.com/ramsey/p/16590708.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有