开发常用sql句式记录

1 篇文章 0 订阅

1.按属性统计,并且将不存在的属性统计为0

左连接+count函数。因为count函数不统计null。所以要count(右表属性)

on是左连接时的一次筛选

where是连接之后的一次筛选 

postgre示例:

        select count(e.id) as cnt,d.name as type from district d LEFT JOIN examination_application e
        ON ST_Intersects(d.position,e.dig_position)
        <if test="startTime!=null">
            and
            e.create_time &gt;= #{startTime}
        </if>
        <if test="endTime!=null">
            and
            e.create_time &lt;= #{endTime}
        </if>
        and e.examine_status_code!='CG'
        GROUP BY d.name

2.sum()函数默认转换成java的BigDecimal,count()函数默认装换成java的Long

3.MYSQL提取分类再导入分类表

insert into emergency_supplies_point_v2(subordinate_unit,warehouse_name,reserve_type,temp) 
select e.subordinate_unit,e.warehouse_name,e.reserve_type,e.temp FROM emergency_supplies_v2 e where e.id in(
SELECT max(d.id) FROM `emergency_supplies_v2` d group by warehouse_name)

update emergency_supplies_point_v2 set lon=(SELECT
SUBSTRING(temp FROM 1 FOR INSTR(temp, ',')-1)) 

update emergency_supplies_point_v2 set lat=(SELECT
SUBSTRING(temp FROM INSTR(temp, ',')+1)) 


update emergency_supplies_v2 e set point_id=(SELECT
d.id from emergency_supplies_point_v2 d where d.warehouse_name=e.warehouse_name) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值