如何根据 SQL 查询中其他聚合列的日期获取最后一条记录

萨拉尼奥

我知道这个问题已经被问过 100 次了,我查看了所有这些问题,但我有点卡住了,不得不寻求帮助

我有这样的表:

hivenumber Visitdate   CombsNO  WaxNo  BeeBehave
------------------------------------------------
    1      2017-11-10    10       2        4
    2      2017-11-10    11       1        3
    3      2017-11-10    12       3        3
    1      2017-11-12    13       1        1
    3      2017-11-11    14       5        2

起初我想通过 HiveNumber

Select HiveNumber 
From tHivesDetails
Group BY HiveNumber

然后我想要CombNo每个的最后一条记录HiveNumber

Select Top(1) CombNo 
From `tHivesDetails` 
Order By VisitDate Desc

然后我需要Wax每个的总和HiveNumber

Select Sum(Wax) 
From `tHivesDetails` 
Group BY HiveNumber

最后我想要平均值 BeeBehave

Select Avg(BeeBehave) 
From tHivesDetails
Group By HiveNumber

在这种情况下,我不知道如何将这些查询组合为 1 并拥有一张包含所有我需要的表。我阅读了大部分相同的问题,但不幸的是无法弄清楚如何做到这一点。

我想要这样的结果:

hivenumber  Visitdate  CombsNO  WaxNo  BeeBehave
------------------------------------------------
    1      2017-11-12    13      Sum      avg
    2      2017-11-10    11      sum      avg
    3      2017-11-11    14      sum      avg
保罗麦克斯韦

“窗口函数”来救援。您可以使用带有 的聚合函数结果的每一行over clause生成值也允许使用 order by ,通过按日期降序在每个“分区”内进行排序,数字 1 被赋予“最近:”访问(由于分区,每个配置单元)。ROW_NUMBER()

select *
from (
       Select *
         , row_number() over(partition by HiveNumber order by VisitDate DESC) rn
         , sum(Wax) over(partition by HiveNumber) sum_wax
         , Avg(BeeBehave) over(partition by HiveNumber) avg_bb
       From tHivesDetails
      ) d
where rn = 1

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从sql server中获取最后一条记录?

来自分类Dev

如何在Oracle SQL中检索相同日期的组中的第一条记录和最后一条记录

来自分类Dev

如何在SQL中向后运行UPDATE命令(从最后一条记录到第一条)?

来自分类Dev

如何打印SQL Server的最后一条记录

来自分类Dev

根据多个列按日期时间获取最后一条记录

来自分类Dev

如何从一组记录中获取第一条记录 MS sql

来自分类Dev

如何使用C#更新SQL Server中的最后一条记录

来自分类Dev

如何获取日期中的第一条记录和最后一条记录

来自分类Dev

如何编写 SQL 查询以使用 IN 子句获取第一条记录(最新)?

来自分类Dev

如何根据一列值是否只有一条记录来过滤NULL,T-SQL

来自分类Dev

如何根据SQL中的其他列减少值

来自分类Dev

如何从MS Access / SQL中的第一条记录开始获取一列中每三个记录的平均值?

来自分类Dev

如何根据时间在sql中合并记录

来自分类Dev

SQL查询以获取每分钟的最后一条记录

来自分类Dev

SQL查询获取最后一条记录按多个字段分组

来自分类Dev

如果该记录没有任何唯一ID,如何从列中获取最后一条记录?

来自分类Dev

如何使用sql-loader跳过最后一条记录?

来自分类Dev

如何使用sql-loader跳过最后一条记录?

来自分类Dev

我如何在cakephp中获取用户与所有其他用户的最后一条消息

来自分类Dev

SQL查询从链接表中检索最后一条记录

来自分类Dev

SQL Server:从联接查询中仅选择每个客户的最后一条记录

来自分类Dev

TSQL:如果记录为空,如何从查询结果中删除最后一条记录

来自分类Dev

SQL 查询为其他列中的每个唯一条目返回最高和最低

来自分类Dev

如何根据数量进行SQL查询

来自分类Dev

如何修改此查询以仅获取字段值不为0的最后一条记录?

来自分类Dev

SQL查询获取第一条记录

来自分类Dev

如何根据其他表中的值从表中执行 SQL 查询?

来自分类Dev

如何通过获取每个组中的最后一条记录来删除重复的记录

来自分类Dev

如何根据日期对SQL Server中的多列进行排序

Related 相关文章

  1. 1

    如何从sql server中获取最后一条记录?

  2. 2

    如何在Oracle SQL中检索相同日期的组中的第一条记录和最后一条记录

  3. 3

    如何在SQL中向后运行UPDATE命令(从最后一条记录到第一条)?

  4. 4

    如何打印SQL Server的最后一条记录

  5. 5

    根据多个列按日期时间获取最后一条记录

  6. 6

    如何从一组记录中获取第一条记录 MS sql

  7. 7

    如何使用C#更新SQL Server中的最后一条记录

  8. 8

    如何获取日期中的第一条记录和最后一条记录

  9. 9

    如何编写 SQL 查询以使用 IN 子句获取第一条记录(最新)?

  10. 10

    如何根据一列值是否只有一条记录来过滤NULL,T-SQL

  11. 11

    如何根据SQL中的其他列减少值

  12. 12

    如何从MS Access / SQL中的第一条记录开始获取一列中每三个记录的平均值?

  13. 13

    如何根据时间在sql中合并记录

  14. 14

    SQL查询以获取每分钟的最后一条记录

  15. 15

    SQL查询获取最后一条记录按多个字段分组

  16. 16

    如果该记录没有任何唯一ID,如何从列中获取最后一条记录?

  17. 17

    如何使用sql-loader跳过最后一条记录?

  18. 18

    如何使用sql-loader跳过最后一条记录?

  19. 19

    我如何在cakephp中获取用户与所有其他用户的最后一条消息

  20. 20

    SQL查询从链接表中检索最后一条记录

  21. 21

    SQL Server:从联接查询中仅选择每个客户的最后一条记录

  22. 22

    TSQL:如果记录为空,如何从查询结果中删除最后一条记录

  23. 23

    SQL 查询为其他列中的每个唯一条目返回最高和最低

  24. 24

    如何根据数量进行SQL查询

  25. 25

    如何修改此查询以仅获取字段值不为0的最后一条记录?

  26. 26

    SQL查询获取第一条记录

  27. 27

    如何根据其他表中的值从表中执行 SQL 查询?

  28. 28

    如何通过获取每个组中的最后一条记录来删除重复的记录

  29. 29

    如何根据日期对SQL Server中的多列进行排序

热门标签

归档