后端技术 PostgreSQL-中文字段排序-修改字段的排序规则 --修改字段的排序规则ALTERTABLE"public"."your_table_name"ALTERCOLUMN"name"TYPEvarchar(128)COLLATE"pg_catalog"."zh-Hans-CN-x-icu";--升序但字母在最后selectnamefromyour_table_nameorderbyname;--升序且字母在前SELECTnameFROMyour_table_nameORDERBYCASEWHENname~& 2025-04-08 浏览(83) 评论(0) 阅读全文
数据库 Mybatis超时设置和异常重试拦截器 packagecn.jiangjiesheng.config.mybatis;importcn.jiangjiesheng.common.GnStatic;importcn.jiangjiesheng.core.utils.StringUtils;importlombok.extern.slf4j.Slf4j;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibatis.mapping.BoundSql;importorg.apache.ibati 2024-12-22 浏览(394) 评论(0) 阅读全文
数据库 Mybatis-mybatis-plus-tkmabatis-表前缀设置-全局Interceptor拦截替换sql表前缀 mybatis-plus相关配置,按需使用mybatis-plus:global-config:db-config:#tk方法的表前缀table-prefix:${spring.application.name}_configuration-properties:#自定义sql中表名带前缀https://www.cnblogs.com/javalinux/p/14338780.html#prefix是内置参数prefix:${spring.application.name}_#key1等是自定义的,使用时直接${key1},但是不要使用##key1:2 2024-03-12 浏览(349) 评论(0) 阅读全文
数据库 MySQL-group by-子查询获取group by维度的平均值-计算平均通过率-对百分比进行再平均 示例1:EXPLAINSELECTe.enterprise_record_identerpriseRecordId,e.enterprise_nameenterpriseName,d.department_record_iddepartmentRecordId,d.department_namedepartmentName,ifnull(sum(r.score),0)totalScore,ifnull(ROUND(sum(r.score)/(selectcount(1)fromcred_user_infowherecontainer_id=u.cont 2024-02-13 浏览(271) 评论(0) 阅读全文
数据库 MySQL-group by-按字段group by分组 并 返回最新的结果 按id_employee分组,并取每个分组的最新的数据。1、错误:返回的不是最新的SELECTemployee_nameFROMts_quotation_historyWHEREid_quotation_detail=14688907255391191108ANDis_deleted=0GROUPBYid_employeeORDERBYpk_iddesc,id_employeeasc;2、正确:理解按id_employee分组SELECTa.*FROM(SELECTid_employee,max(pk_id)latest_pk_id--where条件都 2024-02-13 浏览(269) 评论(0) 阅读全文
数据库 MySQL-distinct-group by性能-索引设置 distinct和groupby,mysql8.0之前,groupby有隐式排序,理论上性能会慢,但是groupby可以做聚合计算。mysql8.0之后没有区别。所以如果仅仅要去重数据就使用distinct。如果去重的字段有索引,那么groupby和distinct都可以使用索引,此情况它们的性能是相同的;而当去重的字段没有索引时,distinct的性能就会高于groupby,因为在MySQL8.0之前,groupby有一个隐藏的功能会进行默认的排序,这样就会触发filesort从而导致查询性能降低。更多解释https://blog.csdn.net/ 2024-02-13 浏览(242) 评论(0) 阅读全文
数据库 MySQL-JSON函数实操积累 1、SELECTCAST('[]'asJSON)2、SET@json='{"a":"avalue","barr":[1,2]}';SELECTJSON_INSERT(@json,'$.newkey','[1]','$.newkey2','{test:1}','$.newkey3','[]');--有key则不会重复执行3、SELECT(CASEWHEN(id_from=(SELECTpk_idfromtest_jsonWHEREid_own_org=9999andpackage_name='预检单'))THENJSON_INSERT(package_d 2024-02-13 浏览(258) 评论(0) 阅读全文
数据库 MySQL-EXISTS-INSERT-SELECT-插入时判重数据-INSERT SELECT WHERE NOT EXISTS <insertid="addUserIntermediate4Exam">INSERTINTOeduinp_user_intermediate(`container_id`,`implement_id`,`user_orgs`,`status`,`handling_status`,`handled_user_id`,`create_time`,`update_time`)SELECTcontainer_id,#{examId},`user_orgs`,`status`,`handling_status`,`handled_user_id`, 2024-02-13 浏览(280) 评论(0) 阅读全文
数据库 MySQL-EXISTS-DELETE-NOT EXISTS主表根据副表是否还有关联数据来删除主表数据 [NOT]EXISTS主表根据副表是否还有关联数据来删除主表数据<deleteid="delIntentServiceByPkId"parameterType="String">DELETEsFROMts_maintain_intent_servicesWHEREs.pk_id=CAST(#{pkId}asunsigned)ANDNOTEXISTS(SELECTid_intent_serviceFROMts_maintain_intent_service_detailtdWHEREtd.id_intent_service=CAST(#{pk 2024-02-13 浏览(284) 评论(0) 阅读全文