ここから本文です

RDBのHAVING句 1:下記の場合はSum(Quantity) とCount(ProductID)どちらが先に評...

アバター

ID非公開さん

2018/4/1412:29:40

RDBのHAVING句

1:下記の場合はSum(Quantity) とCount(ProductID)どちらが先に評価されますか?

SELECT ProductID AS "製品ID", Sum(Quantity) AS "個数合計"
FROM "Order Details"
GROUP BY ProductID
HAVING Count(ProductID) >= 5

2:
AS句はSELECTやFROMなど任意の場所で指定できるものですか?

閲覧数:
20
回答数:
3

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nora1962jpさん

2018/4/1423:20:07

実行されるタイミングなら同じでしょう。
グルーピングする際に「Count(ProductID)」も「Sum(Quantity)」も集計して、その結果についてhavingの条件が成り立つかどうかの判定を行います。

> 2:
> AS句はSELECTやFROMなど任意の場所で指定できるものですか?

「任意の場所」の意味がよく分かりません。
基本、列名、計算結果、表名、サブクエリについて別名(alias)のために指定するものです。なお、ASは規格上は必須でなく省略可能です。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

iru********さん

2018/4/1513:03:27

1:標準的なRDBの場合は
FROM
GROUP BY
SELECT
HAVING
の順に評価されます。
2:標準的なRDBの場合は、できます。

uk_********さん

2018/4/1412:37:44

1. 普通に考えればCount(ProductID)です。条件が合致しなければSum(Quantity)の演算を行う必要がないので。正確なところは実行計画を見てみる必要があります。
2. 任意の場所の意味が分かりません。使える場所は決まっていますが。

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる