列表

详情


2238. 司机成为乘客的次数

表: Rides

+--------------+------+
| Column Name  | Type |
+--------------+------+
| ride_id      | int  |
| driver_id    | int  |
| passenger_id | int  |
+--------------+------+
ride_id 是该表的主键(具有唯一值的列)。
该表的每一行都包含驾驶员的 ID 和在 ride_id 中乘车的乘客的 ID。
注意 driver_id != passenger_id。

 

编写解决方案,获取每个司机的 ID 和他们作为乘客的次数。

以 任意顺序 返回结果表。

结果格式如下所示。

 

示例 1:

输入: 
Rides 表:
+---------+-----------+--------------+
| ride_id | driver_id | passenger_id |
+---------+-----------+--------------+
| 1       | 7         | 1            |
| 2       | 7         | 2            |
| 3       | 11        | 1            |
| 4       | 11        | 7            |
| 5       | 11        | 7            |
| 6       | 11        | 3            |
+---------+-----------+--------------+
输出: 
+-----------+-----+
| driver_id | cnt |
+-----------+-----+
| 7         | 2   |
| 11        | 0   |
+-----------+-----+
解释: 
在所有给定的行程中有两名司机: 7 和 11.
ID = 7 的司机曾两次成为乘客。
ID = 11 的司机从来不是乘客。

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
# Write your MySQL query statement below

mysql 解法, 执行用时: 380 ms, 内存消耗: 0 B, 提交时间: 2023-10-15 22:14:00

# Write your MySQL query statement below
with a as (
    select distinct driver_id from rides
)
select a.driver_id,count(b.passenger_id) as cnt from a
left join rides b on a.driver_id =b.passenger_id
group by a.driver_id

上一题