mysql - 接单5次以上的酒店(MYSQL)
问题描述
我想选择接受订单超过 5 次的酒店。首先,我需要计算每家酒店的订单数量。
我试过这个查询来计算来自酒店的订单数
SELECT h.hotel_id , h.hotel_name , COUNT(o.hotel_id)
FROM hotel_details h
JOIN orders o ON h.hotel_id=o.hotel_id
我得到了这个输出:
hotel_id hotel_name COUNT(o.hotel_id)
H1001 A2B 16
16是订单总数是订单表
解决方案
您使用了没有 GROUP BY 的 COUNT。这就是为什么你的回报只有一行。
要获得那些超过五个的,您可以将此选择用作临时表。
SELECT * FROM
(SELECT h.hotel_id , h.hotel_name , COUNT(o.order_id) as orders
FROM hotel_details h
JOIN orders o ON h.hotel_id=o.hotel_id
GROUP BY 1) a
WHERE
orders >= 5;
推荐阅读
- php - Woocommerce 自定义订单状态不显示
- docker - 通过Service Fabric应用项目设置的应用环境在哪里可用?Dockerfile 还是 Docker 容器?
- biztalk - BizTalk:出站逻辑端口未从业务流程中删除
- reactjs - 如何在本机反应中实现注销功能
- android - React Native App 更新重定向使用链接(捆绑发布)
- sql - 如何在 SQL Server 的列表中插入文本文件的名称
- java - 在 Apache Tomcat 中部署应用程序时,我应该将 application.properties 文件放在哪里?
- python - datetime striptime-replace timezone-timestamp 比时间戳少 360 秒
- c# - 如何使用 Active Directory Login 和 MultiFactor Authentication (MFA) 连接到数据库
- hibernate - @PostConstruct 在启动时填充数据库 - Spring Boot 2.2.4 升级