两个不同表的除法结果

Posted

技术标签:

【中文标题】两个不同表的除法结果【英文标题】:Result of division from two different tables 【发布时间】:2021-12-18 17:17:37 【问题描述】:

我有 1 个表的查询结果,该表与公司已完成的票数相关。第二个查询是执行此票证所花费的时间。结果来自 2 个不相关的表。

结果 1 来自:

    Count(DISTINCT case_id) AS a
    FROM   booker

结果 2 来自:

SELECT sum(TO_NUMBER(LEFT(duration, 2),'99D999') + TO_NUMBER(SUBSTRING(duration, 3,3),'99D999') / 60 + TO_NUMBER(RIGHT(duration, 2),'99D999') / 3600) 
FROM    time_ad 

结果 1 是数字:120

结果 2 是数字:12,234

我想要 1 个查询,从两个查询中提取结果并将其分开。

有什么想法可以在 1 个查询中完成吗?

提前谢谢你

【问题讨论】:

您使用的是 mysql 还是 MS SQL Server? TO_NUMBER 无法被 MySQL 或 MS SQL Server 识别... ?? TO_NUMBERORACLE 函数而不是 MySQLMS SQL Server docs.oracle.com/cd/B19306_01/server.102/b14200/functions191.htm。 TO_NUMBER函数可用于以下Oracle/PLSQL版本:Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i 抱歉标签错误。它是 redshift 数据库,我不确定应该选择什么标签。 【参考方案1】:

你可以直接做(未经测试,但应该可以):

SELECT 
(SELECT Count(DISTINCT case_id) AS a FROM booker) /
(SELECT sum(TO_NUMBER(LEFT(duration, 2),'99D999') + TO_NUMBER(SUBSTRING(duration, 3,3),'99D999') / 60 + TO_NUMBER(RIGHT(duration, 2),'99D999') / 3600) 
FROM    time_ad) AS MyResult

【讨论】:

非常感谢!完美运行:) @nynek 如果它运行良好,请将其标记为正确答案。谢谢

以上是关于两个不同表的除法结果的主要内容,如果未能解决你的问题,请参考以下文章

扩展除法/乘法的 gcc 内在函数

python两种除法区别以及向上向下取整

C语言浮点数除法可以精确到多少位小数

Python 除法运算

python的整数除法为什么说是精确的???

Int除法:为啥1/3 == 0的结果?