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


mysql select 2 tables and order by 1 of them by date (more close to the current time)

这是我的问题。

表ns_leagues:

id   name
1    League 1
2    League 2
3    League 3

表ns_upcoming:

upID   league   date
1      1        1410390000
2      2        1411990200
3      3        1412010000

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

我试了好几种方法,但到目前为止都没有效果。

失败:

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

这是我现在拥有的(右侧:PROXIMOS PARTITDOS):http://www.nuno-silva.pt/jobs/mark/index.php

"体内"表示日期>=时间();它还没有结束。比赛倒计时。

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

你能帮我一下这个吗?

您需要根据"现在"和比赛时间之间的时间差进行排序,例如

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