我試圖選擇具有最高的20「時間戳」值的行,並從這些20行1列具有最低ID值:試圖選擇具有最高時間戳值和最低ID值的20個項目?
$result_last = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT 20) ORDER BY ID ASC LIMIT 1");
上面的查詢不工作,但它是有道理對我來說。這個查詢有什麼問題嗎?
我試圖選擇具有最高的20「時間戳」值的行,並從這些20行1列具有最低ID值:試圖選擇具有最高時間戳值和最低ID值的20個項目?
$result_last = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT 20) ORDER BY ID ASC LIMIT 1");
上面的查詢不工作,但它是有道理對我來說。這個查詢有什麼問題嗎?
錯誤是#1248 - Every derived table must have its own alias
這的確如此。這應該工作:
$result_last = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT 20) AS T ORDER BY ID ASC LIMIT 1");
太好了。感謝您的幫助!你釘了那個錯誤。我會接受它什麼時候讓我 – TaylorMac 2011-05-26 08:07:39
嘗試這樣:
$result_last = mysql_query("SELECT * FROM Events WHERE TimeStamp IN(SELECT TimeStamp FROM Events ORDER BY TimeStamp DESC LIMIT 10") ORDER BY TimeStamp ASC LIMIT 1);
你是什麼意思它不工作。它會返回一個錯誤嗎?它會返回錯誤的數據嗎? – andrewmitchell 2011-05-26 07:57:09