SQL选择结果之间的算术运算

时间:2015-07-08 12:24:51

标签: mysql sql

嗨我需要做一些类似的事情作为更大脚本的一部分:

class TableModel {
    // ...your code...
    private:
        std::vector<QString> items;
};

问题是我无法执行/操作,因为它会产生错误,即使select输出是单个值。 我甚至不知道如何使用别名或存储在变量中,因为它是我在这里创建的一个相当复杂的(对我而言)环境......

1 个答案:

答案 0 :(得分:0)

这个怎么样:使用CAST来获得DECIMAL类型,并使用coalesce来阻止空值?

SELECT
GROUP_CONCAT(DISTINCT
CONCAT('COALESCE(CAST((SUM(CASE WHEN ColumnA = "'  ,ColumnA, ' "THEN 1 ELSE 0 end)) AS DECIMAL(10,4)),0)/COALESCE(CAST((select total 
   from hd_totals where ColumnA = "'  ,ColumnA, ' ") AS DECIMAL(10,4)),0.01) AS "'  ,ColumnA, ' "')) 
FROM table inner join.....

注意:有一个任意常数0.01以防止除以0.

更重要的说明:如果我是你,我还会添加一个案例,以检查你是否除以0。