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

相关推荐
程序猿阿伟19 分钟前
《打破SQL与AI框架对接壁垒,解锁融合新路径》
数据库·人工智能·sql
点燃大海21 分钟前
MySQL表结构导出(Excel)
java·数据库·python·mysql·spring
꧁坚持很酷꧂35 分钟前
Qt远程连接数据库,注册,登录
开发语言·数据库·qt
加油,旭杏1 小时前
【Redis】服务端高并发分布式结构
数据库·redis·分布式
꧁༺朝花夕逝༻꧂1 小时前
MySQL--数据备份
数据库·mysql
共享家95273 小时前
Linux常用命令详解:从基础到进阶
linux·服务器·数据库
我是个假程序员7 小时前
sql server数据库可疑修复
数据库
极限实验室9 小时前
如何使用 Nginx 代理 Easysearch 服务
数据库·nginx
whn19779 小时前
selectdb修改表副本
数据库
TDengine (老段)10 小时前
TDengine 中的视图
数据库·物联网·oracle·时序数据库·tdengine·iotdb