【问题标题】:SQL query to find the bus travelling through routeSQL查询查找通过路线行驶的公共汽车
【发布时间】:2022-01-20 20:38:39
【问题描述】:

有一个表名路线,包含bus_id,stop_name和位置(它是停靠点的顺序)。

公交车根据位置单程行驶


表格:路线

| bus_id | stop_name | position |
|--------|-----------|----------|
| 1      | Stop_1    | 1        |
| 1      | Stop_2    | 2        |
| 1      | Stop_3    | 3        |
| 1      | Stop_4    | 4        |
| 1      | Stop_5    | 5        |
| 1      | Stop_6    | 6        |
| 1      | Stop_7    | 7        |
| 2      | Ramdom_1  | 1        |
| 2      | Ramdom_2  | 2        |
| 2      | Stop_3    | 3        |
| 2      | Stop_4    | 4        |
| 2      | Stop_5    | 5        |
| 2      | Stop_6    | 6        |
| 2      | Ramdom_3  | 7        |

现在需要找到从 stop_3 到 stop_6 的 bus_id,即 bus_id = 12

例子:\

  1. stop_1stop_6 = 1\
  2. stop_6Ramdom_3 = 2\
  3. stop_6stop_1 = no bus found\

需要MYSQL查询才能找到以上数据

使用的数据库服务器版本:10.4.21-MariaDB (xamp)

【问题讨论】:

    标签: mysql sql database phpmyadmin xampp


    【解决方案1】:
    Select a.*, b.* 
    From route a
    Join route b on a. bus_id=b.bus_id
    Where a.position <b.position
    And a.name=[stopname] and b.name=. 
    [stopname]
    

    【讨论】:

      【解决方案2】:

      您可以尝试过滤您需要的停靠点名称并计算停靠点的数量

      select bus_id 
      from route  
      stop_name 
      group by bus_id
      having count(distinct stop_name) = 2 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-29
        • 2010-10-09
        • 2020-03-29
        • 1970-01-01
        • 1970-01-01
        • 2022-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多