iT邦幫忙

0

SQL 如何篩選最新資料

"SELECT  raw.id,raw.m_id ,latest.`gps-1`, latest.`gps-2`, raw.pm1,raw.pm2_5,raw.pm10, raw.tem, raw.wet, raw.voc, latest.date, latest.time
        FROM
        (
        	SELECT  `gps-1`, `gps-2`, CONCAT(`gps-1`, ',', `gps-2`)  AS latlng, MAX(CONCAT(`date`, ' ', `time`)) AS date_time,
        		TRIM(SUBSTRING_INDEX(MAX(CONCAT(`date`, ' ', `time`)) ,' ', 1)) AS 'date',
        		TRIM(SUBSTRING_INDEX(MAX(CONCAT(`date`, ' ', `time`)) ,' ', -1)) AS 'time'
        	FROM `air` 
        	GROUP BY CONCAT(`gps-1`, ',', `gps-2`)

        ) AS latest
        INNER JOIN 
        (
        	SELECT *, CONCAT(`gps-1`, ',', `gps-2`)  AS latlng, CONCAT(`date`, ' ', `time`) AS date_time
        	FROM `air` 
        ) AS raw
        ON raw.latlng = latest.latlng
        AND raw.date_time = latest.date_time  where latest.date=".$_POST['Date']." ;
        ");

這是目前 抓經緯度一樣 但時間是最新資料
但最後一行不知道哪裡有錯AND raw.date_time = latest.date_time where latest.date=".$_POST['Date']." ;

我想要的結果是可以加上 篩選出例如2016-7-20的資料
希望大大可以幫忙 感恩

wybeen iT邦新手 4 級 ‧ 2016-07-22 09:52:17 檢舉
建議貼程式碼時版面排整齊一點, 敘述問題要詳細一點, 如果有出現錯誤訊息或是跑出來結果不合也要貼出來
KUI iT邦新手 4 級 ‧ 2018-01-16 10:32:18 檢舉
不太懂你的問題.....
找最新資料的話跟時間有關,那可以先用
@LAST_TIME = Select Max(latest.date) WHERE [TABLE_NAME]拿值
再來select .........where ??? from latest.date=@LAST_TIME 來找

這你要的嗎??
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答