sql 查询分组最大值最小值和对应发生时间

在SQL查询中,查询分组最大最小值可以使用Group By,但是需要同时获得最大值/最小值发生时间的情况下,Group By并不适用,此时可使用本文介绍的方法。

问题描述

  • 01

    假设“测值表”结构和内容如图所示,需要查询每一个测点测值的最大值/最小值及发生时间

  • 02

    使用Group By可以查询得到每个测点的最大值/最小值,但是需要同时查询发生时间时,会出现错误:“选择列表中的列 '测值表.时间' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。”

  • 03

    针对这一需求,有两种嵌套查询方法,一种是在嵌套查询中使用笛卡尔积,一种是在嵌套查询中使用连接查询。

解决方法

  • 01

    求最大值,注意图中红线标出的语句 select 测点编号, 测值 as 最大值, 时间 from 测值表 where ID not in (select a.ID from 测值表 a,测值表 b where a.测值<b.测值 and a.测点编号=b.测点编号); select 测点编号, 测值 as 最大值, 时间 from 测值表 where ID not in (select a.ID from 测值表 a inner join 测值表 b on a.测点编号=b.测点编号 where a.测值<b.测值);

  • 02

    求最小值,注意图中红线标出的语句 select 测点编号, 测值 as 最小值, 时间 from 测值表 where ID not in (select a.ID from 测值表 a,测值表 b where a.测值>b.测值 and a.测点编号=b.测点编号); select 测点编号, 测值 as 最小值, 时间 from 测值表 where ID not in (select a.ID from 测值表 a inner join 测值表 b on a.测点编号=b.测点编号 where a.测值>b.测值);

(0)

相关推荐

  • SQL查询:[1]SQL基础查询

    SQL查询语句用来检索数据库数据.查询是通过执行SELECT来完成的.在所有SQL语句中,SELECT语句是最为灵活复杂. 基础知识 01 查询语句基本语法如下: SELECT <*,colum ...

  • sql查询出现对象名无效怎么办

    sql查询出现对象名无效怎么办 操作方法 01 以sql2012为例,我们在sql查询时,有时会遇到这种情况:查询失败,提示"对象名 XXX 无效." 02 原因是,例子中的exa ...

  • 如何查询华为手机中应用使用的时间

    使用华为手机的用户,发现手机电量耗费地特别快,因此想要查询手机中应用使用的时间,但是却不知道如何查询,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,点击并打开设置应用,接着点击箭头所指的健康使 ...

  • LOL如何查询自己被封号的原因及时间

    有的时候一些小伙伴们会因为一些不健康的行为而遭到封号的处罚.那么如何查询自己被封号的原因及时间呢? 操作方法 01 首先我们用手机或者电脑打开任意一个浏览器,再网址栏输入lol官网网址进入lol官网. ...

  • 如何查询自己的B站账号注册时间和UID

    UID是在用户注册会员后,系统自动分配的一组证明身份的数字,下面就介绍下如何查询自己的B站账号注册时间和UID 操作方法 01 搜索哔哩哔哩官网,并点击进入 02 点击灰色的头像,进入登录界面,并输入 ...

  • SQL查询:[6]子查询

    在SELECT查询时,在WHERE查询条件中的限制条件不是一个确定的值,而是来自另一个查询的结果,这种为主查询提供数据而首先执行的查询语句叫做子查询.根据返回结果的不同,子查询可分为单行子查询.多行子 ...

  • Excel2016最大值最小值要怎么突出显示?

    Excel2016最大值最小值要怎么突出显示?

  • Excel2016最大值最小值怎么突出显示?

    Excel表格中,怎么自动将同一区域内最大的数字和最小的数字用特殊颜色标记出来,这样看上去可以更加一目了然的发现该区域中的最大和最小值.具体操作步骤,一起来了解下吧! 1.鼠标左键双击计算机桌面Exc ...

  • Excel 2016表格怎么快速计算最大值最小值?

    Excel 2016的表格操作中,有时我们需要在一大堆数据中选择最大值和最小值,那么这个函数应该如何定义呢?今天小编就跟大家说明一下. 1.其实函数的编辑很简单,我们首先打开excel. 2.然后在表 ...