SQL多条件和复杂度

时间:2016-04-22 08:10:13

标签: mysql sql

我需要为一组数据计算多个总和,具有不同的WHERE条件。

我可以通过以下两种方式之一来实现:

多个子查询。

  1. (SELECT SUM(A)FROM B WHERE C> 0和D = 6 GROUP BY id)作为sum_a,
  2. (SELECT SUM(A)FROM B,其中C< 0和D = 6 GROUP BY id)为sum_b,
  3. .........还有6个
  4. 或者我可以这样做,使用JOIN和条件SUM:

    1. LEFT JOIN(选择
    2. SUM(IIF(C> 0和D = 6,A,0))为sum_a,
    3. SUM(IIF(C <0和D = 6,A,0))为sum_a,
    4. .........还有6个
    5. FROM B GROUP BY id)
    6. 如表
    7. ON table.id = main.id
    8. 如果所有条件都被编入索引,(在14,000,000行表中),哪种方式更快?

0 个答案:

没有答案