1,先講一下需求,數據庫中有相同的數據,只取最新插入的一條數據
目前只有這一種方法,還請大神多多指點其他的方法。。。。

#可行的方法
SELECT des NAME, VALUE,date FROM t_dws_base_statistics WHERE NAME = "RKPT-JNQ-ZDGZRYFB" AND date IN ( SELECT max(date) FROM t_dws_base_statistics GROUP BY `des` );

2,這點就比較坑,
分組后,確實取的第一條,但是!!!!排序之后再分組就不取第一條!!!!
#不可行的方法
SELECT * FROM ( SELECT * FROM `t_dws_base_statistics` WHERE NAME = 'RKPT-JNQ-ZDGZRYFB' ORDER BY date ) A GROUP BY A.des

還在網上看到了一種拼接的方法,但是不太符合我的需求,一並整理
1.查詢出分組的所有按時間降序的記錄id並拼接
--查詢出分組的所有按時間降序的記錄id並拼接 select group_concat(id order by `time` desc) from user_position group by userId
2.查詢每個分組中時間最新的那條記錄的id
--查詢每個分組中時間最新的那條記錄的id select SUBSTRING_INDEX(group_concat(id order by `time` desc),',',1) from user_position group by userId
下面有怎么用拼接函數的一篇博客,不會用group_concat的可以瀏覽一下:
https://baijiahao.baidu.com/s?id=1595349117525189591&wfr=spider&for=pc
