在我学习 SQL 的过程中,我正在我的一个旧数据库上编写各种查询,但是在处理更复杂的事情时,我想确保我不会过度设计它。我有一个表代理,不同的代理为城市提供不同的价格。多个代理商可以为同一个城市服务,每个代理商的价格不同。我想运行一个查询,该查询将返回为任何给定城市雇用所有代理的总成本,按最昂贵的排序。
WITH orderedPrices AS (
SELECT SUM(agtFMPrice)
OVER (PARTITION BY agtCity)
AS IX FROM Agent)
SELECT IX
FROM orderedPrices
ORDER BY IX DESC
我发现如果没有orderedPrices 返回的视图,它不会对价格进行排序(我假设是因为它是一个聚合函数,或者它们被称为什么)。我是否以最好的方式做到这一点,还是可以简化?
另外,如果您感到特别无聊,请继续给我一个新的任务/查询来在这张桌子上做。我可以使用这种做法。