2012-09-05 34 views
1

我可以在不添加遞增列的情況下從表底部開始執行mysql查詢嗎?強制mysql從表底部開始查詢

我有一個用戶訪問的頁面的歷史,我想向他們展示最近訪問過的第一個,我只記錄網址,我沒有記錄時間或其他任何東西。

我是否需要添加一個增加數字的列或類似的東西,或者有沒有辦法將查詢從表底部運行到頂部?

如果我確實需要添加一列,那麼最好的選擇是什麼?

我發現這個類似的問題,但它並沒有回答我的問題,但我想我會在此處鏈接: Scanning a mysql table from the bottom

+8

直到你定義了一些特定的順序 - 沒有「頂」或「底」 – zerkms

回答

1

你應該包括某種順序,也不能保證項目的排序表格按照它們插入的順序排列。

這不是像excel這樣的有序列表。

您應該添加CreatedDate列,然後ORDER BY CreatedDate DESC

+0

我將添加一個時間戳列,然後 謝謝 –

+0

@JoãoCastro,如果這個答案的幫助下,將其標記,或任何答案幫助最作爲答案。歡迎來到Stack Overflow! – CaffGeek

+0

@CaffGeek你知道我如何從上到下運行mySQL嗎?我的表看起來像這樣 - >'1,2,4,5,7,8,3',我希望結果是'3,8,7,5,4,2,1',DESC將不起作用這個案例。 – 2013-02-19 03:15:31

2

正如其他人所說,表格不具備固有的順序。 SQL中沒有關於表的「頂部」或「底部」的概念。對於結果集有一個order by的概念,但這是不同的。

最簡單的做法是在表中添加一個自動增量列。這將保證每一行都有不同的值。您可以繼續只插入一個值。 。 。自動增量是默認值。當您從表中拉出時,請使用order by id desc以獲取最新的附加信息。

1

就在您的SQL語句的末尾添加

ORDER BY DESC 

+0

這就是我正在尋找的東西,但爲了工作,您必須指定一個我沒有的列,但我不想創建。 –