SQLを学ぶ旅の中で、私は古いデータベースにさまざまなクエリを書いていますが、もっと複雑なことに取り掛かるときは、これを過剰に設計していないことを確認したいと思います。私はテーブルエージェントを持っており、さまざまなエージェントが都市にさまざまな価格を提供しています。複数のエージェントが同じ都市にサービスを提供でき、それぞれの価格は異なります。特定の都市のすべてのエージェントを雇うための総コストを、最も高い順に並べたクエリを実行したかったのです。
WITH orderedPrices AS (
SELECT SUM(agtFMPrice)
OVER (PARTITION BY agtCity)
AS IX FROM Agent)
SELECT IX
FROM orderedPrices
ORDER BY IX DESC
私は、orderedPricesによって返されたビューなしでそれを行うと、価格を注文しないことがわかりました(これは集計関数、またはそれらが呼び出されるものであるためだと思います)。私はこれを私が持つことができる最善の方法で行いましたか、それとも単純化できましたか?
また、特に退屈している場合は、このテーブルで行う新しい割り当て/クエリを教えてください。私は練習を使うことができました。