`
wutheringsea
  • 浏览: 262536 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle分组查询后,获取最大值的记录

 
阅读更多

最近在写个分组查询获取最新时间戳的语句时,发现这样写挺受用的,分享之:

 

select * from test a where a.updatetime=(select max(b.updatetime) from test b where a.type=b.type)

 

ps:假设a是已经groupby之后的表。

分享到:
评论
2 楼 cuqing 2015-07-16  
--查询预受理申请审计表中按照业务类别分类的最新创建(最近修改)的记录集合 【group分组同时查询最大id|最新时间再查询对应分组的记录数】
select * from net_preaccept_audit where id in (select maxid from (select preaccept_id, max(id) as maxid, count(*) as grpCnt from net_preaccept_audit npa group by npa.preaccept_id) grpMaxSubQuery) order by create_time desc;
1 楼 cuqing 2015-07-16  
这种方式足够既能直接分组,又能筛选分组中的最大Id,足够用了。 select * from (select preaccept_id, max(id) as maxid from net_preaccept_audit npa where id in (3, 6, 13, 22) group by npa.preaccept_id) subquery where id = maxid

相关推荐

    oracle分组函数

    - **MIN() 和 MAX()**:这两个函数主要用来获取每组的最小值和最大值。例如,查询入职日期最早的日期和最晚的日期。 ```sql SELECT MIN(hiredate), MAX(hiredate) FROM emp; ``` - **SUM() 和 AVG()**:分别...

    oracle常用查询

    2. **聚合函数**:COUNT、SUM、AVG、MAX、MIN等聚合函数用于对一组值进行统计计算,例如计算行数、求和、平均值、最大值和最小值。 3. **连接查询**:JOIN操作允许将多个表的数据结合在一起,如INNER JOIN(内连接...

    oracle常用经典sql查询

    - `MAX()` 和 `MIN()`:找出最大值和最小值。 3. **分组与聚合**: - `GROUP BY`:将数据按列分组。例如,`SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;` - `HAVING`:在分组后应用条件...

    oracle子查询相关帮助

    - HAVING子句:在分组查询后过滤结果。 3. **子查询的使用**: - **比较操作**:如`=`, `, `>`, `, `>=`, `!=`,与主查询的字段进行比较。 - **集合操作**:`IN`(在子查询结果集中)、`NOT IN`(不在子查询结果...

    oracle开发复杂查询

    例如,`MIN`和`MAX`找到数值列的最小值和最大值;`AVG`计算平均值;`SUM`求和;`COUNT`则返回行的数量。在使用分组函数时,需要注意它们只能出现在选择列表、ORDER BY子句、HAVING子句中,并且在使用分组函数时,会...

    oracle简明查询语句!!

    - 作用:比较主查询中的字段是否大于子查询返回的最大值或小于最小值。 - **ALL操作符**: - 示例:找出哪些员工的工资比任何职位的平均工资都低。 - 作用:比较主查询中的字段是否小于子查询返回的所有值中的...

    oracle表连接和子查询实例

    - **子查询**:`(SELECT MAX(avg_sal) FROM (SELECT deptno, AVG(sal) avg_sal FROM emp GROUP BY deptno))`计算所有部门平均薪资的最大值。 - **WHERE子句**:用于过滤出平均薪资最高的部门。 - **应用场景**:用于...

    oracle常用查询举例

    - **使用ALL比较最大值:** ```sql SELECT ename, job, sal FROM emp WHERE sal > ALL (SELECT sal FROM emp WHERE deptno = 30); ``` - **使用ANY比较最小值:** ```sql SELECT ename, job, sal FROM emp ...

    sql_按照某一个字段进行去重后获取全部字段

    - `HAVING MAX(bill_id) = prtb.bill_id`:确保每个分组中选取的是具有最大 `bill_id` 的记录,并且该 `bill_id` 必须等于主查询中的 `bill_id`。 #### 实现原理 此 SQL 语句的主要目的是从 `person_real_time_...

    oracle常用SQL语句下载

    - **MAX**和**MIN**:分别用于找出最大值和最小值,例如在WH2仓库工作的职工的最高工资。 **5.2.7 分组与计算查询** 在更复杂的数据分析中,可以使用GROUP BY和HAVING子句。GROUP BY用于根据一个或多个列对数据...

    Oracle 经典查询练手

    ### Oracle经典查询练习知识点解析 #### 1. 列出至少有一个员工的所有部门 为了找出至少有一个员工的所有部门,我们需要连接`emp`表和`dept`表,并且确保只选择那些在`emp`表中有记录的部门。可以使用内连接(INNER...

    Oracle函数速查手册

    7. 聚合函数:在处理集合数据时,聚合函数非常有用,如`COUNT()`计算记录数量,`SUM()`求和,`AVG()`计算平均值,`MAX()`和`MIN()`找出最大值和最小值。 除了上述函数,Oracle还有许多其他高级功能,如窗口函数、...

    oracle9i讲课课件包括实验\oracle课件\上课\005-7高级查询技术

    3. **聚合函数**:这些函数用于对一组值进行计算,如COUNT、SUM、AVG、MAX和MIN,帮助我们获取特定列的总数、平均值、最大值和最小值。 4. **分组与聚合**:GROUP BY和HAVING子句用于将数据分组并应用聚合函数。...

    oracle简单教学

    2. 聚合函数:如COUNT、SUM、AVG、MAX和MIN,用于计算一组值的总数、平均值、最大值或最小值。 3. 分组和排序:GROUP BY语句用于按一个或多个列对结果进行分组,HAVING用于设置分组后的过滤条件;ORDER BY用于对结果...

    oracle数据库测试sql文件.zip

    2. **聚合函数**:如COUNT、SUM、AVG、MAX和MIN,它们用于计算一组值的总数、总和、平均值、最大值和最小值。 3. **子查询**:在查询中嵌套另一个查询,以满足更复杂的条件或获取中间结果。 4. **DML操作**:...

    00584 Oracle公司内部数据库培训资料-Les05_分组函数(PPT 29页).ppt

    Oracle数据库中的分组函数是数据分析和查询的重要工具,它们能够对一组数据进行操作并返回一个汇总值。在Oracle公司的内部数据库培训资料Les05中,重点讲解了如何使用这些功能来提升数据处理效率。 首先,组函数的...

    Oracle教程,java调用oracle

    4. **组函数**:这些函数用于处理一组行,如COUNT(计算行数)、SUM(求和)、AVG(平均值)、MAX(最大值)和MIN(最小值)。它们通常与GROUP BY子句一起使用,根据一个或多个列对结果集进行分组。 5. **多表查询*...

    Oracle函数及常用sql

    - `MAX()`和`MIN()`:找出最大值和最小值。 二、Oracle常用SQL查询 1. **选择查询(SELECT)**: - 基本查询:`SELECT column1, column2 FROM table;` - 条件查询:`WHERE`子句,如`WHERE column = value`。 -...

Global site tag (gtag.js) - Google Analytics