分组多列时如何选择最大值或最后一条记录?

卢卡斯

这是我一直在思考几个小时但仍然无法得到答案的事情。

假设我有这个表: table

+---------------------------------------------+
+     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      +
+---------------------------------------------+

如您所见,输出具有日期的最大值,或插入的最后一条记录

我希望你们能帮我解决这个问题,过去几个小时我一直在燃烧我的头,但没能完成。

非常感谢您提前。

瓦姆西·帕巴拉

获取每个 id,country 的最大日期并将此结果与原始表连接。

SELECT t.* 
from table t
join (select id,country,max(date) as maxdate from table 
      group by id,country) t1
on t1.id=t.id and t1.country=t.country and t1.maxdate=t.date

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取上一条记录/最大值

来自分类Dev

分组时选择最大值的记录

来自分类Dev

分组mysql表时检索最后一条记录

来自分类Dev

分组mysql表时检索最后一条记录

来自分类Dev

如何使用分组依据获取最后一条记录

来自分类Dev

如何选择每个ID的最后一条记录

来自分类Dev

从表中的分组记录中选择除最后一条记录之外的所有记录

来自分类常见问题

在分组查询中选择以返回该分组的最后一条记录

来自分类Dev

在分组查询中选择以返回该分组的最后一条记录

来自分类Dev

根据一列中的最大值选择分组记录

来自分类Dev

如何选择*并按一列分组,同时选择另一列的最大值?

来自分类Dev

分组并根据创建的时间戳选择最后一条记录

来自分类Dev

如何在下一条记录等于上一条记录时对所有记录进行分组

来自分类Dev

如何显示具有重复值的一列的最后一条记录,以及显示该列的值的次数

来自分类Dev

尝试选择最大值时如何正确分组?

来自分类Dev

Mysql Query按最后一条记录和第一条记录分组

来自分类Dev

mysql加入一对多最后一条记录

来自分类Dev

如何在两列中选择最大值的记录?

来自分类Dev

如何计算每个唯一条目的最大值和最小值

来自分类Dev

画一条线以表示最大值

来自分类Dev

如何在 Laravel 5.6 中显示多对多关系中的最后一条记录

来自分类Dev

选择每个人的最后一条记录

来自分类Dev

mysql查询按时间选择最后一条记录

来自分类Dev

MySQL选择最后一条记录并更新它

来自分类Dev

为每个ID选择每月的最后一条记录

来自分类Dev

选择最后一条具有雄辩价值的记录

来自分类Dev

mysql查询按时间选择最后一条记录

来自分类Dev

MySQL选择最后一条记录并更新它

来自分类Dev

Rails查询选择具有不同列的最后一条记录

Related 相关文章

  1. 1

    如何获取上一条记录/最大值

  2. 2

    分组时选择最大值的记录

  3. 3

    分组mysql表时检索最后一条记录

  4. 4

    分组mysql表时检索最后一条记录

  5. 5

    如何使用分组依据获取最后一条记录

  6. 6

    如何选择每个ID的最后一条记录

  7. 7

    从表中的分组记录中选择除最后一条记录之外的所有记录

  8. 8

    在分组查询中选择以返回该分组的最后一条记录

  9. 9

    在分组查询中选择以返回该分组的最后一条记录

  10. 10

    根据一列中的最大值选择分组记录

  11. 11

    如何选择*并按一列分组,同时选择另一列的最大值?

  12. 12

    分组并根据创建的时间戳选择最后一条记录

  13. 13

    如何在下一条记录等于上一条记录时对所有记录进行分组

  14. 14

    如何显示具有重复值的一列的最后一条记录,以及显示该列的值的次数

  15. 15

    尝试选择最大值时如何正确分组?

  16. 16

    Mysql Query按最后一条记录和第一条记录分组

  17. 17

    mysql加入一对多最后一条记录

  18. 18

    如何在两列中选择最大值的记录?

  19. 19

    如何计算每个唯一条目的最大值和最小值

  20. 20

    画一条线以表示最大值

  21. 21

    如何在 Laravel 5.6 中显示多对多关系中的最后一条记录

  22. 22

    选择每个人的最后一条记录

  23. 23

    mysql查询按时间选择最后一条记录

  24. 24

    MySQL选择最后一条记录并更新它

  25. 25

    为每个ID选择每月的最后一条记录

  26. 26

    选择最后一条具有雄辩价值的记录

  27. 27

    mysql查询按时间选择最后一条记录

  28. 28

    MySQL选择最后一条记录并更新它

  29. 29

    Rails查询选择具有不同列的最后一条记录

热门标签

归档