Php mysql选择2个表,按日期按其中1个表排序(更接近当前时间)

Php mysql选择2个表,按日期按其中1个表排序(更接近当前时间),php,mysql,date,Php,Mysql,Date,这是我的问题 表N_联赛: 表ns_: 我有这两列,我想从表ns_leagues中选择联赛,并从ns_coming中按行排序,日期更接近当前时间 我试了好几种方法,但到目前为止都不管用 失败: SELECT id FROM ns_leagues WHERE id in ( SELECT league FROM ns_upcoming WHERE date<='".$now."' ORDER BY date ASC SELECT DISTINCT

这是我的问题

表N_联赛: 表ns_: 我有这两列,我想从表
ns_leagues
中选择联赛,并从
ns_coming
中按行排序,日期更接近当前时间

我试了好几种方法,但到目前为止都不管用

失败:

SELECT id 
FROM ns_leagues 
WHERE id in (
    SELECT league 
    FROM ns_upcoming 
    WHERE date<='".$now."' 
    ORDER BY date ASC

SELECT DISTINCT id 
from ns_leagues a 
LEFT JOIN ns_upcoming v ON  a.id = v.league AND v.date<= '".$now."' 
ORDER BY v.date ASC
这就是我现在拥有的(右侧:PROXIMOS PARTIDOS):

“En vivo”指日期>=时间();它还没有完成。 现在是比赛的倒计时

我需要按日期对联赛进行排序(为此选择日期与时间最近的行();从所选联赛的表ns_的列日期开始)


你能在这个问题上给我一个帮助吗?

你需要根据“现在”和比赛时间之间的时差来排序,例如

SELECT ...
...
ORDER BY DATEDIFF(ns_upcoming.date, curdate())

但这并不能解决所有问题,因为我想选择一排比赛,并在那一排的日期前订购联赛。并且该行日期必须接近当前时间
SELECT id 
FROM ns_leagues 
WHERE id in (
    SELECT league 
    FROM ns_upcoming 
    WHERE date<='".$now."' 
    ORDER BY date ASC

SELECT DISTINCT id 
from ns_leagues a 
LEFT JOIN ns_upcoming v ON  a.id = v.league AND v.date<= '".$now."' 
ORDER BY v.date ASC
SELECT * FROM ".PREFIX."leagues ORDER BY id DESC
SELECT ...
...
ORDER BY DATEDIFF(ns_upcoming.date, curdate())