使用ORDER和WHERE进行SQL/PHP查询

Sta*_*ton 0 php sql

我有一个SQL查询问题.我试图在两个日期之间以有序的方式获取数据.这是我遇到问题的代码的简化:

$query = "SELECT Name DateTime FROM table1";
$query .= " ORDER BY DateTime ASC";
$query .= " WHERE DateTime between  date1 AND date2";

$result = mysql_query($query);

//fetch data here
while($row = mysql_fetch_array($result))
{
$output[] = $row;
}
    print(json_encode($output));
Run Code Online (Sandbox Code Playgroud)

当我注释掉这行时,上面的代码有效:$ query.="ORDER BY DateTime ASC";

我能纠正什么,以便我可以在两个日期之间返回有序数据?

编辑:当我将ORDER移动到WHERE后,现在不应该对$ output进行排序?我将它返回到一个Android应用程序,它似乎并非如此.

Mit*_*dir 9

ORDER BY子句必须在最后:

$query = "SELECT Name DateTime FROM table1";
$query .= " WHERE DateTime between  date1 AND date2";
$query .= " ORDER BY DateTime ASC";
Run Code Online (Sandbox Code Playgroud)

条款的一般顺序是:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Run Code Online (Sandbox Code Playgroud)