从同一个表中查询以提取不同的数据

时间:2015-06-27 21:31:01

标签: sql ms-access-2010

在单个表格中,我有3列。首先定义扇区,第二个计数和第三个数量。我需要以下列方式提取5列数据。第一栏部门。第二个和第三个包含的值是小于计数的数量,第三个和第四个显示的数量是特定部门中的数量。我的查询应该怎么样?

样本数据 - 第一部分的4行数据。

function upArray(arr) {
    for (var i = 0, len = arr.length; i < len; i++) {
        var num = arr[i];
        if (num > 9 || num <= 0) {
            var x = null;
            return x;
        }  
    }
    {
            var toNum = parseInt(arr.join('')) + 1;
            arr = toNum.toString().split('').map(Number);
            return arr;
        }
}

结果应为

>>> rdd = sc.parallelize([1,2])
>>> sorted(rdd.cartesian(rdd).collect())
[(1, 1), (1, 2), (2, 1), (2, 2)]

1 个答案:

答案 0 :(得分:0)

您可以使用GROUP BYSUM()汇总函数以及CASE语句来完成此操作,例如

SELECT sector, 
SUM(case when count > amount then count else 0 end) as count1,
SUM(case when amount < count then amount else 0 end) as amount1,
SUM(case when count < amount then count else 0 end) as count2,
SUM(case when amount > count then amount else 0 end) as amount2
FROM mytable
GROUP BY sector;