如题,一表格会重覆很多次相同的产品值 product_id
但我每个值只取1个
情况1:取每笔数值时间为最新的1笔
情况2:我指定一个时间范围,在范围中取最新的1笔
请问SQL的语法如何实现呢? 感谢各位!
如下 (注意_,时间精准到秒数_)
如题,一表格会重覆很多次相同的产品值 product_id
但我每个值只取1个
情况1:取每笔数值时间为最新的1笔
情况2:我指定一个时间范围,在范围中取最新的1笔
请问SQL的语法如何实现呢? 感谢各位!
如下 (注意_,时间精准到秒数_)
如果是查询整条数据可以用一下sql
情况一:
SELECT * FROM `tablename` t1
RIGHT JOIN
(SELECT t.`product_id` AS product_id ,MAX(t.`Updatedate`) AS Updatedate
FROM `tablename` t
GROUP BY t.`product_id`) t2
ON t1.`product_id` = t2.`product_id` AND t1.`Updatedate` = t2.`Updatedate`;
情况2:
SELECT * FROM `tablename` t1
RIGHT JOIN
(SELECT t.`product_id` AS product_id ,MAX(t.`Updatedate`) AS Updatedate
FROM `tablename` t
WHERE t.`Updatedate` >'2018-06-07' AND t.`Updatedate`<'2018-06-09'
GROUP BY t.`product_id`) t2
ON t1.`product_id` = t2.`product_id` AND t1.`Updatedate` = t2.`Updatedate`;