我有一張存儲用戶位置的表格。我想選擇每個用戶的最新位置。僅選擇帶有上次時間戳記的記錄
我已經試過
SELECT lat, lng, address, idUser, timestamp FROM locations ORDER BY timestamp DESC LIMIT 1
SELECT lat, lng, address, idUser, MAX(timestamp) FROM locations
這兩個,當然,給我的最後一個位置的所有用戶中。該表的結構非常簡單:
CREATE TABLE `locations` (
`idLocation` int(11) NOT NULL auto_increment,
`idUser` int(11) NOT NULL,
`address` varchar(255) NOT NULL,
`lat` float(10,6) NOT NULL,
`lng` float(10,6) NOT NULL,
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`idLocation`),
KEY `idUser` (`idUser`)
)
選擇緯度,經度,地址,ID用戶所,時間戳FROM位置ORDER BY時間戳DESC LIMIT 1 選擇緯度,經度,地址,ID用戶所,MAX(時間戳)FROM位置 這兩個當然,給了我所有用戶的最後一個位置。結構很簡單,我沒有包含它來保持簡潔: CREATE TABLE( 'idLocations' int(11)auto_increment, 'idUser' int(11), 'address' varchar(255) , 'lat'浮法(10,6), 'lng'浮動(10,6), 'timestamp'時間戳默認CURRENT_TIMESTAMP, PRIMARY KEY('idLocations') ) – manutenfruits 2012-08-17 13:36:57
如果你試過我的回答如下,如如上所述,並說它給了你最新的位置,是不是你想要的?請澄清你想要的東西否則! ;)請嘗試我的整個陳述,不只是部分。 – jos 2012-08-17 13:48:03