PostgreSQL数据库高级sql总结2

1、postgresql 数据库update 去重sql

先按重复记录fk分组找最小的记录,然后更新id 不在子查询中的数据

update td_f_stop_history set del_flag='1' where "id" not in

(select "min"("id") from td_f_stop_history where allowed_recover='1' and del_flag='0'

group by fk HAVING "count"(fk)>1)

and allowed_recover='1' and del_flag='0';

2、从一个表查询数据添加到另外一个表中

insert into tf_admin_org2

(org_name,adm_id,org_parent_id,org_code,sort,level,adm_name,del_flag,org_id,unit_id,unit_name,unit_org_case,unit_org_id,is_creat_org,type,change_flag,adm_parent_id,adm_code)

select

d01001,id,parent_id,org_code,sort,level,name,del_flag,org_id,bid,b01001,b99011,d01014,b90007,b90006,change_flag,adm_parent_id,adm_code from tf_admin_org

3、从一张表更新同步到另外一张表

postgresql数据库,软弱涣散基层党组织将一个表中的数据同步到另外一个表

UPDATE tb_village_city_work_progress set org_code=b.org_code

from tf_admin_org b

where tb_village_city_work_progress.adm_id=b.adm_id and tb_village_city_work_progress.adm_id='e6a0755f-7053-45ab-be62-3c0cf6dc6012'

4、查询有多个书记的村庄

SELECT

*

FROM

tb_village_detail

WHERE

ID IN (

SELECT

fk

FROM

"public"."tb_village_lw_member"

WHERE

del_flag = '0'

AND (

duty LIKE '%党支部书记%'

OR duty LIKE '%党总支书记%'

)

AND duty NOT LIKE '%社区%'

GROUP BY

fk

HAVING

COUNT (1) > 1

);

5、统计每个城市软弱涣散村转化完成和未完成的数量

select

城市

sum(CASE WHEN org.weak_lax_status ='0' THEN 1 ELSE 0 END) as 未完成,

sum(CASE WHEN org.weak_lax_status ='1' THEN 1 ELSE 0 END) as 完成

from

info

group by

城市

order by 2

相关推荐
·云扬·1 小时前
【PmHub后端篇】PmHub 中缓存与数据库一致性的实现方案及分析
数据库·缓存
kaixiang3001 小时前
sqli-labs靶场23-28a关(过滤)
数据库·sql
不剪发的Tony老师1 小时前
数据库行业竞争加剧,MySQL 9.3.0 企业版开始支持个人下载
数据库·mysql
张伯毅2 小时前
Flink SQL 将kafka topic的数据写到另外一个topic里面
sql·flink·kafka
淡定是个好东西2 小时前
springboot连接高斯数据库(GaussDB)踩坑指南
数据库·gaussdb
追风赶月、2 小时前
【Redis】哨兵(Sentinel)机制
数据库·redis·sentinel
悟能不能悟3 小时前
mysql的not exists走索引吗
数据库·mysql
明月与玄武3 小时前
Jmeter -- JDBC驱动连接数据库超详细指南
数据库·jmeter·配置jdbc连接
专注VB编程开发20年3 小时前
VB.NET关于接口实现与简化设计的分析,封装其他类
java·前端·数据库
vvilkim3 小时前
Redis持久化机制详解:保障数据安全的关键策略
数据库·redis·缓存