sql - SQL查询按值总和降序
问题描述
我有一个 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;
推荐阅读
- notepad++ - 使用记事本++搜索Dxxxx并替换前后的所有字符串
- java - 包 com.sun.net.httpserver 是标准的吗?
- php - 使用数据库提供程序在 Laravel 项目上重置密码:“用户必须实现 canresetpassword 接口”
- javascript - 获取ajax请求的响应文本
- javascript - 无法将 SocketIO 中的 JSON 对象填充到前端 React 表中
- mysql - 在单个查询中获取数据
- python - Python - 你如何绘制数据直方图?
- node.js - 使用 Passport.js,密码正在本地策略中验证,但用户未经过身份验证
- c - 如何列出我的应用程序打开的文件描述符,或者至少计算它们?
- node.js - 只能安装 NodeJS v6.17.1