mysql查询结果排序

问题描述:

我打电话的结果形式查询到我的网站上的列表,如果该项目是“downtown_hosted”。这工作正常,但我现在想排序列表DESC,但似乎无法得到正确的语法。mysql查询结果排序

下面是我有:

$result_events = mysql_query("SELECT * FROM events 
           WHERE downtown='downtown_hosted' 
           ORDER BY date DESC 
           LIMIT 5 "); 
+1

并且错误/出错了? – MvanGeest 2010-06-16 15:53:02

+0

问题是当我从中选择“ORDER BY date DESC LIMIT 5”时,事件不显示。如果我删除了这个呼叫,那么这些项目会显示,但超出了所需的DESC顺序。 – pixelJockey 2010-06-17 21:13:49

你需要逃避与反引号单词“日期”。

例如为:

$result_events = mysql_query(" 
    SELECT * FROM events 
    WHERE downtown='downtown_hosted' 
    ORDER BY `date` DESC 
    LIMIT 5 
"); 

实际上它不是一个坏习惯进入始终与反引号包围你的专栏,这样你就不会担心有语言的关键字冲突。

+0

我认为这是可选的,它应该也可以不用反斜杠 – Salil 2010-06-16 15:59:06

+2

@Salil - 反引号是可选的,但是当列与语言关键字共享它的名字时不行。 – Matt 2010-06-16 15:59:54

+0

是的,我同意W/O但它没有提及。 – Salil 2010-06-16 16:01:13

date是一个SQL关键字。您可以有一个名为date的列,但每次引用时都必须使用标识符引号。在MySQL中,这是使用反引号完成的:`date`