表T1中有两列数,code和create_time,数据示例如下:现需将上述数据,按照相同code分组,分组后效果类似:不同于rank和row_number窗口函数,这是个被称为间隙和岛屿的问题,第一步,求row_id和同类code分组id的差得到grp:SELECT code, create_time, ( ROW_NUMBER ( ) OVER ( ORDER BY create_time )
case when除了用在select结果集,还可以用在from或者where部分么?
基于kettle有163邮箱配置自动接收邮件并解析附件
mybatis执行脚本时遇到的问题
最近项目里面做了一个基于接口和服务的序列化功能,过程中遇到一个问题,从缓存中获取的缓存JSON字符串,反序列化时报错,原因是className包含$$ENHANCECGLIB字样,具体错误如下:at java.lang.Thread.run(Thread.java:748)Caused by: org.springframework.data.redis.serializer.Serializat
近期业务系统在消费阿里云的kafka时,经常出现有两个固定分区堆积不消费的情况,Group的分区共12个,但是总是分区0和分区1堆积,其他分区消费一切正常,业务逻辑也比较简单,就是数据库的查询和写入。消费方式采用KafkaListener模式,offset自动commit,重置消费点位后,短期可以,一段时间后,又会出现分区0/1的堆积,尝试过重建group、调整分区数,统统无效。网上搜索一番后大多
生产环境: springboot2.3 + mybatisplus3.2 + p6spy3.9.1 + postgresql42.2.22 +hikariCP3.4.5 由于后台一直在进行业务中间数据运算,经常会遇到下面这样的错误: ### The error may involve defaultParameterMap ### The error occurred while setting
开发环境springboot 2.3.0, mybatis-plus 3.2.0 1、默认连接池hikari的配置方式 (1)pom依赖 由于hikari是springboot默认的连接池管理组件,mybatis-plus中默认集成了druid和hikari两种连接池的配置,所以不用做特别的引入,只需引入mybatis-plus和多源管理模块即可。 <dependency> &l
基于redis实现的多线程任务组件
2021.05.08 - Where和Having的区别WHERE和HAVING的基本区别如下: WHERE在分组和聚集计算之前选取输入行(控制哪些行进入聚集计算); HAVING在分组和聚集之后选取分组行; 因此,WHERE子句不能包含聚集函数; HAVING子句总是包含聚集函数。
-------------------------------------------generate_series(0, 100, 5)----------------------------------------drop table if exists x_test;create table x_test (rid int8);insert into x_test (rid)select g
updateex_port_inspectionsetauthority=rt.authority,port_name=rt.port_namefrom(SELECTlag(rid,-1)over(partitionbyimoorderbyreport_datedesc)aspre_rid,*fromex_port_inspectionwhereimo='8710156'order
一个项目中使用了SpringGateway网关,整合Security做安全认证,定义了一个JwtAuthenticationTokenWebFilter,实现WebFilter,实现方式如下:@Data@ComponentpublicclassJwtAuthenticationTokenWebFilterimplementsWebFilter{...}@AutowireJwtAuthenticat
最近在做船舶运输的相关服务,需要在地图上展示台风行进方向的扇形区域,以及该区域内的船舶,扇形区域的输入参数包括:台风行进方向扇形半径行进方向夹角由于postgis内置函数并未提供直接构造扇形的功能,所以只能自己实现。思路很简单,利用半径画圆,利用半径和夹角画三角形,利用postgis的重影函数,求得两个对象的重叠部分,即是我们需要的扇形,示意图如下:(需要注意的是,三角形的边长要放大,以免相交后圆
最近使用postgis的地理函数做一些区域查询判断,SQL代码如下:<sqlid="region_condition_geo"><iftest="geog!=null"><iftest="geog.type=='circle'">ANDST_Intersects(ST_Buffer(ST_GeomFromText('POINT(${geog.centerStri
在一台配置为2核4G的阿里云服务器上,硬盘是普通的云盘(即SATA盘),除mongoDB外,运行了若干个java应用,单节点mysql和redis,mongo的实际可用内存在1.5G左右。单表数据200万条的时候,一个聚合函数响应时间约为6秒,页面端每秒请求一次,由于响应不够及时,页面刷新不及时,服务端堆积了大量的mongoaggregate请求,系统可用内存不足,直接导致了溢出,mongo服务被
SQL查询中,根据列A分组,分组后针对列B执行统计函数,是一件常用也很重要功能,如selectT.a,max(T.b)fromTorderbyT.aasc,T.bdescgroupbyT.aselectT.a,count(T.b)fromTorderbyT.aasc,T.bdescgroupbyT.a一直这样写SQL,直到有一天,一个做股票的朋友(非IT人事)和我聊天,说他自己用Python整了点
前端后接口对接时,如果后台的id或者其他字段使用了长整型Long,就很容易出现js丢失精度问题。用接口工具调用时,往往id返回都是对的,但是一到页面上,js就后缀000。前端说返回的值有问题,F12看看!后端说没问题,Postman看看!这是js支持的问题,解决这个问题的办法很显然,返回字符串即可。怎么实现呢,你可以直接将vo对象的id改成String类型,但是会带来copyProperties的
事务的隔离级别事务的隔离级别源于事务ACID的I(Isolation),即多个事务同时操作同一实体时,其中一个事务的读写操作对其他事务及其自身的可见性影响程度。具体可以分为如下几个等级:读未提交某个事务未提交前,其修改的数据对其他事务可见,这种隔离级别最低,除了确保执行事务本身的原子性,对其他事务几乎无隔离,所以如果源事务回滚,其他事务就会出现脏读现象。读已提交一个事务针对数据的写操作,只有提交之
SpringBoot项目通常将一些重要的参数配置在application.yml或者application.properites中,譬如外部服务连接、数据库地址及账号信息、某些业务变量。随着业务的开展,实现一个完整的业务流程通常需要开发并管理多个微服务,一旦这些参数调整,需要修改多个微服务的配置并重启,这将给运维及生产带来额外的工作和影响。为了解决这个问题,我们可以将这些配置抽取到一个公共的地方,
http协议可能是目前web远程调用领域最常用的协议,一如之前的soap协议。作为轻量级可靠传输协议,基于http协议的服务几乎成了restful的代名词,今天列举几个使用过程中http相关的问题。跨域大家也最常遇到,解决办法也有很多,譬如在网关服务中引入CorsFilter,指定或者放开所有的域名和header。@BeanpublicCorsFiltercorsFilter(){finalUrl
如何通过Zipkin或Sk*walking实现链路追踪
SpringCloudConfigServer提供了微服务获取配置的功能,这些配置文件(application.yml或者application.properties)通常维护在git或者数据库中,而且支持通过RefreshScope动态刷新,使用起来还是比较灵活的。但是当微服务越来越多时,会遇到下面几个问题:配置文件的敏感数如数据库地址和账号信息,据呈现在每个配置文件中,替换起来需要一个个配置文
最近开发微信小程序,openId的处理涉及一个自定义后缀的分割,所以想当然的使用了apache-common的StringUtils工具类的split方法:org.apache.commons.lang3.StringUtils.split示例代码:Strings1="owuVV4_BSs4oKz2srrw-4ceLgonCE#_#null";String[]arr=org.apache.comm
业务场景中,经常有这样一个需求,就是根据A表中的信息,更新B表的某个字段,在关系型数据库中,这个需求很简单,一条SQL搞定:updateBsetB.f1=A.a1wherexxxx但在mongo数据库中,一条SQL就解决不了。好在mongo支持js脚本,可以通过js写类似于存储过程的方式实现。譬如,业务场景中,有一个用户表,一个车辆表,车辆表的状态要汇总到用户表中,varcursor=db.get
MongoDB学习笔记
服务监控的方案有很多,譬如naigos,zabbix这种,不但可以监控服务,还可以监控cpu、内存、磁盘、网络流量、服务端口等,关于naigos和zabbix的搭建配置,需要另外篇幅介绍,这里使用服务器自身的定时任务+脚本+邮件功能完成一个简单的监控。Part1邮件服务搭建安装mailxyum-yinstallmailx##############################qq个人邮箱配置#
RabbitMQ模式大概分为以下三种:(1)单一模式。(2)普通模式(默认的集群模式)。(3)镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适用)。要实现镜像模式,需要先搭建一个普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。RabbitMQ的集群节点包括内存节点、磁盘节点。RabbitMQ支持消息的持久化也就是数据
Redis集群需要至少6个节点,3主3从,由于服务器资源有些,这里使用3台机器6个端口实现。#########################Part1redis依赖安装#########################yuminstallgcctcl安装wgethttp://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gzrsync-e'ssh-
mongo集群的搭建,至少需要3个节点,2两个数据节点和1个仲裁节点,所以这里使用三台机器搭建一个包含3节点的replicationSet。1.下载解压安装:mkdir-P/opt/installcd/opt/install/wgethttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.3.tgz#从远程服务器copy到本
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号