2011-03-02 157 views
0

我寫的MySQL數據庫的網站查詢,需要在SELECT語句的語法有點幫助。我需要從包含用戶輸入的數據庫中檢索信息,這些信息來自我的網站上的Web表單。有大量的過路司機需要使用此表格報告他們的位置。我們的目標是在生成的網頁上有一個簡潔的網格顯示錶,它只顯示所有驅動程序的最新條目,每行只有3條標準( - 名稱 - 位置 - 日期/時間)。下面的代碼確實會返回所有驅動程序的結果,但是會以多個頁面上每個驅動程序的所有條目的長列表的形式返回,而不僅僅是爲每個驅動程序更新位置。看來我需要在字符串中使用「DISTINCT」和/或「LIMIT」,但是我在這方面的嘗試並未產生預期的結果。 謝謝,邁克Select語句需要幫助

$myquery = "select name, location, recordtime from ".$config->site_db."form_db order by recordtime DESC"; 

回答

0

如果我理解正確的話,你要選擇與每個名稱最高recordtime記錄:

$更改爲MyQuery =「從選擇名稱,位置,最大(recordtime)」 $ config-> site_db。「form_db group by name」;

+0

感謝sestevez的「GROUP BY」工作正常,但由於某些原因的「MAX」更改爲顯示到查詢已運行的時間(所有今天的日期),所有行的日期/時間。當我與代碼的其他區域一起玩時,刪除了在日期/時間格式上的一些修改,這些修改在所有版本上都能正常工作,日期/時間完全從顯示中消失(在select語句中使用MAX時)。我嘗試刪除MAX並添加「排序BY」以及「GROUP BY」,但導致錯誤。 – user641472 2011-03-03 14:43:03

+0

MAX(recordtime)將返回表中記錄時間最長的記錄(行)。按名稱分組時,它會爲每個名稱返回記錄時間最長的記錄。 檢查表格的內容。今天的日期必須在那裏,如果它被選中。 – sestevez 2011-03-03 15:49:08