首页 > 数据库 >postgresql中两张表的聚合函数合并到一列或一行,做除法,并保留两位小数

postgresql中两张表的聚合函数合并到一列或一行,做除法,并保留两位小数

时间:2024-04-24 12:23:32浏览次数:18  
标签:count postgresql name row number 除法 tb select 小数

--两张表的无关数据合并到一张表

SELECT A.name, B.name FROM (select o.name, row_number() over(order by name) from tb_org as o) A   FULL JOIN  (select r.name, row_number() over(order by r.name) from tb_region as r) B ON A.row_number = B.row_number;

这里是利用了每张表必然有行数,pg在windows下使用row_number()时,必须与 over()一起使用,也就是排序方式,由于少的一列行数为null了,后面的都是乱序

--两张表的聚合函数合并到一列 select count(name) c1 from tb_org union all select count(name) c2 from tb_region

--两张表的聚合函数合并到一行

select * from (select count(name)from tb_org) A,(select count(name) from tb_region ) B

select *,round(c1::numeric /c2,2) from (select count(name) c1 from tb_org) A,(select count(name) c2 from tb_region ) B

或者利用行数 row_number() SELECT count(A.name) c1, count(B.name) c2 FROM (select o.name, row_number() over(order by name) from tb_org as o) A   FULL JOIN  (select r.name, row_number() over(order by r.name) from tb_region as r) B ON A.row_number = B.row_number;

--两张无关表的聚合函数,做除法,并保留两位小数 SELECT count(A.name) c1, count(B.name) c2, round(count(A.name)::numeric /count(B.name),2) c3 FROM (select o.name, row_number() over(order by name) from tb_org as o) A   FULL JOIN  (select r.name, row_number() over(order by r.name) from tb_region as r) B ON A.row_number = B.row_number;

标签:count,postgresql,name,row,number,除法,tb,select,小数
From: https://www.cnblogs.com/bigleft/p/18154934

相关文章

  • [笔记]模意义下的除法逆元
    一些题目在涉及到超大整数运算时,往往会要求我们把答案取模一个值,比如\(998244353\)、\(10^9+7\)等等。如果我们的计算只有\(+,-,*\),直接现算现取模即可:(a+b)%mod=(a%mod+b%mod)%mod(a-b)%mod=(a%mod-b%mod+mod)%mod(a*b)%mod=(a*mod-b......
  • 对链表中最小数据项对应的结点删除
    //指的是顺序表中的元素的数据类型,用户可以根据需要进行修改typedefintDataType_t;//构造链表SeqList—_t的结点,结点中包含数据域和指针域,并且所有结点中的数据应该相同typedefstructSeqList{DataType_tData;structSeqList*next;}LinkList_t;//创建......
  • 22.Postgresql的checkpoint功能
    PostgreSQL中的checkpoint是数据库管理系统(DBMS)中的一项重要机制,用于确保数据的一致性、可恢复性和性能管理。以下是关于PostgreSQLcheckpoint的详细解释:checkpoint的定义与作用定义:Checkpoint是一个在WAL(Write-AheadLog)序列中的点,此时所有数据文件已更新,反映了到该点为止......
  • postgresql重置序列和自增主键
    1.问题背景数据表中插入了几条测试数据,后又手动删除,导致后面插入数据的时候报主键冲突:ERROR:duplicatekeyvalueviolatesuniqueconstraint"tableName_pkey"DETAIL:Key(id)=(1)alreadyexists.12即使采用INSERTIGNORE的方式或者REPLACEINTO的方式还是报错,所以就想......
  • input js 只能输入数字和两位小数
    functiononlyNumber(obj){//得到第一个字符是否为负号vart=obj.value.charAt(0);//先把非数字的都替换掉,除了数字和.和-号obj.value=obj.value.replace(/[^\d\.]/g,'');//前两位不能是0加数字obj.value=obj.value.replace(/^0\d[0-9]*/g,'');......
  • PostgreSQL源码编译安装指南
    一、版本说明centos7.9postgresql12.2二、配置系统基本环境#1.创建postgres用户groupaddpostgresuseradd-gpostgrespostgresecho"666666"|passwdpostgres--stdin#2.配置用户环境变量su-postgrescat>>~/.bash_profile<<EOFexportPGPORT=1922expor......
  • postgresql数据定时转存mongodb方案
    案例背景很多事件记录在最初一段时间读写比较频繁,存储在postgresql比较合适,后期数据量变大,且仅作为历史记录查询,更适合存储在mongodb中,可能需要定期将postgresql中的数据转存到mongodb。案例分析postgresql数据定时转存mongodb,可以采用jdbc方式将postgresql读入内存,对每条......
  • LightDB兼容扫描 - 事前SQL兼容迁移评估工具24.1支持MySQL --> TDSQL-PostgreSQL兼容
    兼容扫描工具下载地址:事前SQL兼容迁移评估工具使用说明:LightDB-事前SQL兼容迁移评估工具使用手册本次24.1版本新增了对MySQL迁移到TDSQL-pg的兼容性扫描。工具的具体使用方法请阅读使用说明文档,针对本次更新,涉及配置项targetDataBase改为MySQL-to-TDSQL-PostgreSQL。以下是......
  • vue 给不同组件数据添加千分位符且保留两位小数
    方法一:使用filter过滤器的方法给普通元素添加千分位符且保留两位小数<template><divclass="app-container">{{obj|modifyObject}}{{obj1|modifyObject}}</div></template><script>exportdefault{components:{},data()......
  • Ubuntu22.04安装PostgreSQL15
    Ubuntu22.04安装PostgreSQL15启用PostgreSQL包存储库sudosh-c'echo"debhttp://apt.postgresql.org/pub/repos/apt$(lsb_release-cs)-pgdgmain">/etc/apt/sources.list.d/pgdg.list'wget-qO-https://www.postgresql.org/media/keys/ACCC4CF8......