SQL 按值之和降序查询
SQL query for descending order by sum of values
我有一个 Apex Oracle 应用程序要做。
这是应用说明:旅游目的地由其名称和说明定义。每个旅游目的地都有许多预订,由开始日期、结束日期、描述、价格定义,如下例所示:
- 旅游目的地:夏威夷日出酒店
- 开始日期:2014 年 8 月 18 日
- 结束日期:2014 年 9 月 1 日
- 描述:一房含早餐
- 价格:2000
我为应用程序创建了 2 个表:
- 目的地(ID:数字,名称:varchar2,描述:varchar2)
- 预订(BID:数字,ID:数字,start_date:日期,end_date:日期,描述:varchar2,价格:数字)
我是最后一个要求,它说我必须制作一份报告,显示按特定预订数量排序的目的地。构建查询时遇到一些问题(没有要显示的示例),因为我不知道如何将这些函数联系在一起。我怀疑可能涉及 SUM、COUNT、ORDER BY、GROUP BY,但无法为此提出有效的查询。
我可以在构建查询时使用一些帮助。
您可以按如下方式使用group by
:
Select d.id, d.name,
Count(1) as number_of_bookings
From destination d left join bookings b
On b.id = d.id
Group by d.id, d.name
Order by number_of_bookings desc;
我有一个 Apex Oracle 应用程序要做。
这是应用说明:旅游目的地由其名称和说明定义。每个旅游目的地都有许多预订,由开始日期、结束日期、描述、价格定义,如下例所示:
- 旅游目的地:夏威夷日出酒店
- 开始日期:2014 年 8 月 18 日
- 结束日期:2014 年 9 月 1 日
- 描述:一房含早餐
- 价格:2000
我为应用程序创建了 2 个表:
- 目的地(ID:数字,名称:varchar2,描述:varchar2)
- 预订(BID:数字,ID:数字,start_date:日期,end_date:日期,描述:varchar2,价格:数字)
我是最后一个要求,它说我必须制作一份报告,显示按特定预订数量排序的目的地。构建查询时遇到一些问题(没有要显示的示例),因为我不知道如何将这些函数联系在一起。我怀疑可能涉及 SUM、COUNT、ORDER BY、GROUP BY,但无法为此提出有效的查询。 我可以在构建查询时使用一些帮助。
您可以按如下方式使用group by
:
Select d.id, d.name,
Count(1) as number_of_bookings
From destination d left join bookings b
On b.id = d.id
Group by d.id, d.name
Order by number_of_bookings desc;