[英]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.