簡體   English   中英

無法找出MySQL ORDER BY

[英]cannot figure out MySQL ORDER BY

我對MySQL很陌生...所以我確信這對某些人來說可能是一個簡單的解決方案...我已經嘗試了教程和其他幫助主題,但無法弄清楚為什么它不起作用。

我有一個帶有自動遞增索引的數據表。 我想選擇表格的最后2行。 這就是我所擁有的:

SELECT * FROM tburg_golf ORDER BY 'index' DESC LIMIT 2

但是由於某種原因,它給了我前兩行。 我試着取消限制,將DESC更改為ASC ...我能想到的一切。

如果好奇的話,這是一大段代碼的一部分:

$result = mysql_query("SELECT * FROM tburg_golf ORDER BY 'index' DESC LIMIT 2");

while($row = mysql_fetch_assoc($result))  {
    $date = $row['date'];
    $day = $row['day'];
    $time = $row['time'];
    $icon = $row['icon'];
    $forecast = $row['forecast'];
    $updated = $row['updated'];

echo $date.$day.$time.$icon.$forecast.$updated.'<p>';
}
SELECT * FROM tburg_golf ORDER BY `index` DESC LIMIT 2

如果您輸入'index' MySQL將對字符串'index' ORDER BY,這對所有元組都是相同的,而不是列index

您正在按'index'排序,該'index'是一個字符串常量 列名由`包圍

如果您的自動遞增列實際上稱為index ,那么它將起作用;

SELECT * FROM tburg_golf ORDER BY `index` DESC LIMIT 2

'index'排序將按同一字符串對每一行進行排序,這基本上將以隨機順序為您提供行。

表中是否有一個名為“索引”的字段?

如果我相信單詞索引是MySQL中的保留詞,這就是為什么它可能無法正常工作的原因。 重命名該字段或將其包裝為`而不是'例如

SELECT * FROM tburg_golf ORDER BY `index` DESC LIMIT 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM