2017-06-29 116 views
0

版本:5.5的MySQL,PHP 5.4反向从MySQL阵列的结果取

下面的查询返回的橄榄球队,以及他们的目标赤字,并匹配ID 5个最近的比赛日期。

$get_form = $conn->query(" 
SELECT (GoalsFor - GoalsAgainst) AS deficit, MatchID AS matchid 
FROM matches 
WHERE HomeTeamID = $homeid AND MatchDate < '$today' 
ORDER BY MatchDate DESC 
LIMIT 5 
"); 

我使用下面显示的获取使用PHP检索5个结果。

while($data = $get_form->fetch_assoc()) 
    { 
    if($data['deficit'] < 0) 
     echo"Win "; 
    else 
     echo"Loss "; 
    } 

但结果目前按降序排列,从左到右依次出现。我宁愿让他们按照时间顺序从右到左出现。

已经向我推荐我将ORDER BY更改为ASC,但这只会返回五个最早的匹配项。我只想在结果集中返回最近的五个(今天的日期之前)。

+1

'select(by select)by' –

+1

这对此有帮助吗? https://stackoverflow.com/questions/23456172/echo-in-reverse-order-from-mysql-fetch-assoc – rbaskam

回答

2
SELECT * 
FROM (
    SELECT (GoalsFor - GoalsAgainst) AS deficit, MatchID AS matchid 
    FROM matches 
    WHERE HomeTeamID = $homeid AND MatchDate < ? 
    ORDER BY MatchDate DESC 
    LIMIT 5 
) X 
ORDER BY MatchDate;