分组以仅获得最大价值

行话

我有三张桌子

  • 机器 机器列表)
  • 事件 (机器事件列表,例如事件ID,机器名称,开始和停止时间戳记)
  • eventdetails (有关由事件ID和计算机名称指定的每个事件的更多信息)

我想执行一个查询,该查询将每台机器的最大事件ID的数据连接起来,但是我在分组时遇到了一些问题。

台式机:

machine
-----------
Machine 1
Machine 2

表事件:

eventid | machine   | start      | stop
-----------------------------------------------
      1 | Machine 1 | 2016-06-14 | 2016-06-16
      2 | Machine 1 | 2016-06-16 | null
      1 | Machine 2 | 2016-05-30 | null

表事件的详细信息:

eventid | machine   | name       | value
-----------------------------------------------
      1 | Machine 1 | product    | Product 1
      1 | Machine 1 | person     | Samuel

我尝试了以下查询,但每台计算机返回的行多...我想按计算机分组,并仅根据最大事件ID获取数据。

SELECT m.machine, MAX(e.eventid), e.start, e.stop, d.name, d.value
FROM machine m 
JOIN event e ON e.machine = m.machine
JOIN eventdetails d ON d.eventid = e.eventid AND d.machine = m.machine
GROUP BY m.machine, e.start, e.stop, d.name, d.value

提前致谢。

里奇·本纳

放手一搏。它为您提供了一个内部联接,它将抑制event表中max(eventid)与表相同的任何内容。

SELECT m.machine, e.eventid, e.start, e.stop, d.name, d.value
FROM machine m 
INNER JOIN event e ON e.machine = m.machine
INNER JOIN eventdetails d ON d.eventid = e.eventid AND d.machine = m.machine
INNER JOIN (SELECT machine, MAX(eventid) maxevent FROM event GROUP BY machine) ma ON m.machine = ma.machine AND e.eventid = ma.maxevent
GROUP BY m.machine, e.start, e.stop, d.name, d.value

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MySQL的:获得最大的价值与相应的时间和按天分组

如何获得最大的价值

在熊猫中进行双重分组:如何获得具有最大价值的类别?

获得classHeight并获取最大价值

按具有最大价值的类别分组

从Django中的表格中获得最大价值

如何使用linq获得最大价值?

我如何获得每个国家的最大价值

如何从小组中获得最大价值?

如何仅获得最大宽度?

获取分组中具有最大价值的行

在列和关联的列名称之间获得最大价值

如何从数组中获得多个键之间的最大价值

PHP XPath 2.0通过max获得最大价值

在表中的列中获得最大的共同价值

如何在嵌套文档中获得最大价值?

熊猫通过两列分组并获得最大值

如何分组列并获得这些重复的最大值

按ID分组并仅过滤平均值最大的组

在将两列分组并在Pandas Dataframe中获取价值计数后,如何获得最高价值的行?

分组并获得以熊猫为单位的一年价值抵消

如何在Django中获得按相关模型分组的具有最高价值的模型?

熊猫分组类别,等级,从每个类别中获得最高价值?

如何按名称分组,然后仅选择R中每个分组的最大值?

Mongodb Group by获得$ max以及该组的最大价值和百分比

使用hadoop获得csv文件最大价值的更好方法是什么?

多个复选框。仅选择一个。如何获得其价值

分组的COUNT的总和,仅计算最大值并显示最大值

无法获得价值,获得职位