0

簡単なクエリがあります:

SELECT stco, sum(STSD) As "Shipped Dollars"
FROM MSTDW 

これは、selectcolumnstcoに問題があることを示しています。

ただし、両方のフィールドが存在し、これは次のとおりです。

SELECT stco
FROM MSTDW 

動作し、これ

SELECT sum(STSD) As "Shipped Dollars"
FROM MSTDW 

も動作します。

両方を持っていることの何が悪いのでしょうか?

ありがとう

4

3 に答える 3

2

これをグループ化して、それぞれの合計を取得する必要があると思いますstco

SELECT stco, sum(STSD) As "Shipped Dollars"
FROM MSTDW 
group by stco

集計関数を適用するには、グループ化する必要があります。とにかく、ALL列の合計が必要な場合(私はあなたがそれを望んでいないと思いますが、念のために追加します)

SELECT stco, (select sum(STSD) from MSTDW) As "Shipped Dollars"
    FROM MSTDW 
    group by stco

これにより、それぞれが一覧表示され、すべての列のがstco繰り返されますsum

于 2012-08-13T14:59:07.163 に答える
2

集計関数(例SUM)を使用するには、グループ化条件を定義する必要があります。

SELECT stco, sum(STSD) As "Shipped Dollars"
FROM MSTDW 
GROUP BY stco

2番目のクエリが機能しない理由は、要求している単一の値stcoにグループが暗黙的(つまり無条件​​の合計)であるためです。SUM

于 2012-08-13T14:59:21.043 に答える
0

まあ、集約stcoされていないので、に追加する必要がありますGROUP BY

SELECT stco, SUM(STSD) AS "Shipped Dollars"
FROM MSTDW 
GROUP BY stco

stcoただし、次のように集計を適用することもできます。

SELECT AVG(stco) AS SomeValue, SUM(STSD) AS "Shipped Dollars"
FROM MSTDW 

一般に、すべての値は集約されるか、データの集約領域を分離するグループ化キーセクションに含まれる必要があります。

于 2012-08-13T15:05:40.700 に答える