You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL技术问询:如何关联表按queno而非driverid排序?

解决方案

当然可以实现这个需求!你只需要通过表关联把test表和drivers表连接起来,然后基于drivers表的queno字段排序即可。

基础实现(确保关联数据存在)

如果test表中的所有driverid都能在drivers表中找到对应记录,使用INNER JOIN关联即可:

SELECT test.*
FROM test
INNER JOIN drivers ON test.driverid = drivers.driverid
ORDER BY drivers.queno ASC; -- 若要倒序排序,把ASC改成DESC

兼容无关联数据的场景

如果test表中可能存在driverid在drivers表中没有匹配的记录,且你想保留这些数据,可以使用LEFT JOIN,同时用COALESCE处理queno为NULL的情况(比如把无匹配的记录排到最后):

SELECT test.*
FROM test
LEFT JOIN drivers ON test.driverid = drivers.driverid
ORDER BY COALESCE(drivers.queno, 9999) ASC; -- 9999可替换为你认为足够大的数值

额外说明

  • 如果你需要在结果中同时显示司机的相关信息(比如driver名称),可以修改SELECT子句,例如:SELECT test.*, drivers.driver, drivers.queno
  • 排序方向可以根据需求调整,ASC是升序(默认),DESC是降序

内容的提问来源于stack exchange,提问作者Nita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:38:59