【问题标题】:Construct a SQL query containing result of two records from a single table构造一个 SQL 查询,其中包含来自单个表的两条记录的结果
【发布时间】:2019-10-16 17:05:10
【问题描述】:

我不熟悉 SQL。

我有巴士时刻表。主表 bus_races 具有以下列:id、race_id、station_idtime。每场巴士比赛都有途中每个巴士站的记录。

例如

id      race    station time
8132    1       1       05:31:00
8133    1       2       05:40:00
8134    1       4       05:50:00
8135    2       2       06:50:00
8136    2       4       06:55:00
8137    2       5       07:15:00

这意味着巴士路线 1 有三个车站:1 号站 5.31、2 号站 5.40、4 号站 5.50,并且巴士路线有站:2 号站 6.50、4 号站 6.55、5 号站 7.15。

...等

我如何构造一个查询,它返回在 2 号站和 6 号站停止的所有比赛的race_id,2 号站必须早于 6 号站。

【问题讨论】:

  • 这里的读者通常会要求您先解决问题。如果您对某个主题是全新的,则无关紧要 - 阅读并开始。 SQL 非常容易上手,因为您可以在网络上的各种网站上练习——您甚至不需要安装数据库。
  • 很遗憾,已经有人给你答案了。这使您失去了经历自己的学习旅程的机会。如果你能在下一个问题上付出真正的努力,那将对你有很大帮助——吸收这些材料需要练习。祝你好运!

标签: sql postgresql


【解决方案1】:
select a.race_id 
from bus_races a join bus_races b 
on a.race_id = b.race_id and a.station_id = 2 and b.station_id = 6
where a.time < b.time

【讨论】:

    猜你喜欢
    • 2019-12-21
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多