我的MySQL数据库中有以下表格
busnames
id |busname
路由
id|route_name
时间表
id | bus_id | route_id | trip |direction |bus_time
0表示目的地来源
1表示来源
现在我想按行程显示数据组,其中bus_id =“some_id”和每个行程数据的每页。如果我点击下一步,那么我需要显示第二行程数据
BusRouteName |Trip | Departure | Destination|
Newyork 1 8 a.m 10.am
Ausi 1 9 a.m 11.20 a.m
上述数据巴士于上午8点从纽约出发,并于第一趟上午10点返回
我在MySQL中尝试了很多查询,但它似乎没有产生正确的输出
SELECT * FROM timings t inner join routes r on t.route_id=r.id inner join busnames b on t.bus_id=b.id where b.id=1
有谁能告诉我如何根据旅行获取数据?
答案 0 :(得分:1)
也许尝试按BusRoute和Trip进行分组,并使用bus_time的最小值和最大值来获取出发和目的地时间。
像这样(未经测试):
SELECT r.route_name, t.trip, min(t.bus_time) as Departure, max(t.bus_time) as Destination FROM timings t
inner join routes r on t.route_id=r.id
inner join busnames b on t.bus_id=b.id
where b.id=1
group by r.route_name, t.trip
如果您有更复杂的条件,可以按功能查看分区。见https://dev.mysql.com/doc/refman/5.6/en/partitioning-selection.html