2017-06-12 7 views
0

私のデータは次のようになります。私は、平均値を取得しようとしていますは、SELECT文でAS列から平均値を取得する方法を

SELECT 
    date,ticker,us_cls_price,cls_price,cls_prc-us_cls_price AS prc_diff ... 

:私はこのselect文を使用しています

DATE Ticker us_cls_price cls_prc 

    05/23 APPL  $400  $401 
    05/24 IBM  $100  $105 
    05/25 AMAZ  $350  $355 

prc_diff列の

....AS prc_diff, AVG(prc_diff) ... 

しかし、私はprc_diffが無効であるというエラーを受けています。

ASによって作成された列を呼び出す方法はありますか?

答えて

1

エイリアスを使用すると、クエリ(または場合によってはサブクエリ)を参照するためにのみ使用できます。そのクエリ内で、式を完全に繰り返す必要があります。

SELECT ... us_cls_price AS prc_diff, avg(us_cls_price) as avg_us_cls_price ... 

あなたが表現を繰り返したくない場合は、代わりにサブクエリを使用する必要があります。

SELECT ... prc_diff, avg(prc_diff) as avg_us_cls_price ... 
FROM (SELECT ... us_cls_price as prc_diff ...) 
関連する問題