mysql - MySQL 最佳方法
问题描述
这个查询是有效的。我想添加状态 = 100 的包的数量。
我在主页上运行此查询以获取驱动程序 ID 1 拥有的所有路线和包裹数量。在同一页面上,我还想获取已完成包的数量
是否可以在一个查询中完成?
SELECT r.ID, r.Name, r.Date, count(p.Route_ID) as Num_Package
FROM drvapp_routes as r
INNER join drvapp_packages as p
ON p.Route_ID = r.ID
WHERE r.Driver_ID = 1
GROUP BY r.ID
ORDER by r.Name ASC
Route Table
+---------+-----------------
| ID | Driver_ID | Name
+---------+-----------------
| 1 | 1001 | Route 1
| 2 | 1001 | Route 2
| 3 | 1001 | Route 3
+---------+-----------------
Package Table
+---------+---------------
| ID | Route ID | Status
+---------+---------------
| 1 | 1 | 100
| 2 | 2 | 70
| 3 | 3 | 50
| 4 | 3 | 100
| 5 | 1 | 100
+---------+---------------
Result should be
+---------+-----------------------------------------
| ID | Route Name | Num_Package | Completed_Route
+---------+-----------------------------------------
| 1 | Route 1 | 2 | 2
| 2 | Route 2 | 1 | 0
| 3 | Route 3 | 2 | 1
+---------+-----------------------------------------
解决方案
推荐阅读
- wso2 - 如何在 WSo2 API 管理器中调用/配置安全 API
- python - ax.set_xlabel 和 ax.set_ylabel 不适用于熊猫图
- angular-forms - 如何使用 Angular 8 创建可重用的复选框组件?
- typescript - Phaser 3 typescript player.alive 未定义
- google-cloud-storage - GCS 存储创建文件夹 API
- android-studio - 来自 git 的一些旧项目的问题同步 gradle
- java - sftp二次开发如何使用guacamole
- python - 比较两个不同数据框的两列并使用 If 条件创建新列
- jquery - .Closest() with Classes 似乎没有选择正确的元素
- android - 在 iOS 的 UITextView 上加载 html 字体的问题