![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
常用SQL及数据库相关知识
善守的大龙猫
昔之善战者,先为不可胜,以待敌之可胜。不可胜在己,可胜在敌。故善战者,能为不可胜,不能使敌之必可胜。故曰:胜可知,而不可为!
成为专家!成为专家!
展开
-
PG库关联多表条件更新字段
PG 关联多表更新字段原创 2022-10-10 13:59:51 · 680 阅读 · 0 评论 -
redis防止重复提交
redis防止重复提交原创 2022-08-19 17:05:18 · 695 阅读 · 0 评论 -
sql 判断表数据是否存在另一个表中
列表中数据在另一个表中是否存在原创 2022-08-10 19:07:41 · 4827 阅读 · 0 评论 -
sql - update set from
update set from原创 2022-08-10 15:21:51 · 148 阅读 · 0 评论 -
判断日期是否是特定日期SQL(查询字段类型的转换)
判断某日期是否是特定日期原创 2022-06-23 17:40:11 · 852 阅读 · 0 评论 -
SQL 对String 转换为Integer进行比较大小
利用replace函数替换字符串,然后强制转换为Integer进行比较or replace(overdue_stage, 'M', '')::integer > #{overdueStage}原创 2022-03-29 14:34:03 · 1817 阅读 · 0 评论 -
left join 查询关联数据数量
表1 - phonephoneIdruleIdphone1rule1phone2rule1表2 - ruleruleIdruleNamerule1rule1_namerule2rule2_nameleft join 查询关联数量select r.ruleId, phoneCountfrom rule rleft join (select count(1) phoneCount, ruleId from phone g原创 2022-02-21 20:14:56 · 1199 阅读 · 0 评论 -
用SQL直接查询字段中json数据
在一些公共历史表中,不太容易通过加字段的方式来兼容各个场景,这时间通过存储json类型的数据就是很好的选择。利用SQL直接查询字段中json的键值对就显得特别重要。//其中 ::json 是对字段类型进行强转select new_value::json->>'remark' from table_name where id = '1212323'字段中的值如下://{"remark": "test"}...原创 2022-02-09 19:25:58 · 3816 阅读 · 0 评论 -
拼接字符串切割,一条分割数据成多行
apsb_idapsb_businessline11, 2select apsb_id, regexp_substr(apsb_businessline, '[^,]+', 1, level) apsb_businessline from tableName connect by level <= regexp_count(apsb_businessline, ',') + 1 and apsb_id = prior apsb_id and prior dbms_rando...原创 2021-05-20 10:44:00 · 137 阅读 · 0 评论 -
PostgreSQL生产中sql把一个用户的权限赋给另一个用户
生产遇到一个问题,更改了数据库账户。需要把原来的账户和现在的账户的权限保持一致。select 'grant insert, update, delete on public.' || tablename || ' to r_' ||tableowner|| '_dml;' from pg_tables where schemaname='public' and tableowner= 'rmasdata'...原创 2021-04-02 16:40:45 · 2121 阅读 · 0 评论 -
PG库设置字段自增长
CREATE SEQUENCE huipan_id_seqSTART WITH 1INCREMENT BY 1NO MINVALUENO MAXVALUECACHE 1;alter table rmas_hp_task alter column id set default nextval('huipan_id_seq');原创 2021-04-02 14:13:35 · 611 阅读 · 0 评论 -
把表中的某一字段用“,“连接起来
Oracle中可以用wm_concat 函数连接起来按名字进行分组,然后把同一个名字的一组用户的id,用","进行组装。select name, wm_concat(id) from userTable where age < 5 group by name;原创 2021-03-17 19:38:02 · 130 阅读 · 0 评论 -
SQL 数量大于2的记录
select id from table_name group by id having count(*) > 1原创 2021-03-17 15:38:00 · 6972 阅读 · 0 评论 -
SQL - count分组及数据按月份分类
1.不同条件下的统计方案COUNT(CASE WHEN 条件 THEN 1 ELSE NULL END ) xxx GROUP BY 分组字段2.添加条件并去重的统计方案COUNT(DISTINCT CASE WHEN 条件 THEN 去重字段 END) xxx GROUP BY 分组字段3.按月份分类SELECT TO_CHAR(create_time, 'yyyy-mm') month, COUNT(CASE WHEN FLOW_TASK_POOL='PHONE' THEN 1 END)原创 2020-12-28 19:57:00 · 2415 阅读 · 0 评论 -
分组后取时间的最新的记录
使用的场景,目前一个表中,有重复数据。现在根据更新时间,只保留更新时间最新的记录,剩下的记录清除掉。select max(id) /*注意id必须使用聚合函数Max*/, podID, Max(time) from test group by podID下面这个SQL还有一个知识点就是找出ID 重复的记录select b.callonnum from ( select Max(callon_num) as callonNum, Min(a.lst_upt_time) from ( selec原创 2021-03-02 15:49:12 · 433 阅读 · 0 评论