这是我一直在想几个小时,仍然不能得到答案。如何在分组多列时选择最大值或最后一条记录?
假设我有这个表:表
+---------------------------------------------+
+ date | id | Country | Impressions +
+---------------------------------------------+
+ 2017-03-08 | 1 | US | 374 +
+ 2017-03-09 | 1 | US | 521 +
+ 2017-03-10 | 1 | US | 708 +
+ 2017-03-08 | 2 | US | 100 +
+ 2017-03-09 | 2 | US | 200 +
+---------------------------------------------+
我想组的结果通过ID和国家,但得到的最后一天的印象(日期或最后一个记录的最大值)
我有这个疑问
SELECT * from table group by id,country
,但它给了我这个输出
+---------------------------------------------+
+ date | id | Country | Impressions +
+---------------------------------------------+
+ 2017-03-08 | 1 | US | 374 +
+ 2017-03-08 | 2 | US | 100 +
+---------------------------------------------+
正如你所看到的日期是第一条记录。
我想要一个查询,让我这个输出
+---------------------------------------------+
+ date | id | Country | Impressions +
+---------------------------------------------+
+ 2017-03-10 | 1 | US | 708 +
+ 2017-03-09 | 2 | US | 200 +
+---------------------------------------------+
正如你可以看到输出对日期的最大值,或最后一个记录插入
我希望你们能帮助我在这,我在最后几个小时一直在烧我的头,并没有完成这个任务。
非常感谢您提前。
您可以添加一个WHERE条件的日期,不是吗? – Krishnakumar
我不能,因为日期并不总是相同的,有时最高日期会因组和国家而不同 – Lucas