mysql - MySQL中样本之间的划分

标签 mysql sql division

可以在sql查询中进行除法吗?

我举个例子:

我有:

Table_1 有“n”个样本,我可以添加行,这样这个数字就可以每天变化。

表 2,我在其中对我选择的样本进行计数

我能做吗:

#Samples_table_1/#Samples_table_2 ?

(SELECT COUNT(X)
FROM TABLE_1
WHERE CONDITION;)
/
(SELECT COUNT(Y)
FROM TABLE_2
WHERE CONDITION;)

最佳答案

您需要用另一个 SELECT 将上述查询(删除分号后)括起来。

SELECT 
IFNULL((
    SELECT 
    COUNT(X)
    FROM TABLE_1
    WHERE CONDITION
),0)
/
IFNULL((
    SELECT 
    COUNT(Y)
    FROM TABLE_2
    WHERE CONDITION
 ),1);

除了戈登的回答:

如果您希望得到小数答案,请像上面那样使用 / 运算符。

如果你期望 integer 作为答案,那么使用 DIV 如下:

SELECT 
    IFNULL((
        SELECT 
        COUNT(X)
        FROM TABLE_1
        WHERE CONDITION
    ),0)
    DIV
    IFNULL((
        SELECT 
        COUNT(Y)
        FROM TABLE_2
        WHERE CONDITION
     ),1);

关于mysql - MySQL中样本之间的划分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422735/

相关文章:

sql - 从表中抓取一行

python - 为什么在使用 NumPy 进行楼层划分时会显示数据类型(即使它是 native 数据类型)?

python - 在 Python 中除以 3

c++ - 如何在不引发异常的情况下进行通用除法

java - Hibernate 自动生成第二个 id

php - 使用 PHP 和 MYSQL 更新我的表的多行

C# MySQL ExecuteReader

sql - 确定记录的出现次数

sql - INNER JOIN 与 INNER JOIN (SELECT . FROM)

mysql - 是否有可以格式化 MySQL 输出的工具?