Sqlserver 获取每组中的第一条记录

在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面、功能下面,从数据库的术语来说,就是查找出每组中的一条数据。下面我们要实现的就是在sqlserver中实现从每组中取出第一条数据。

例子

我们要从上面获得的有效数据为:

对应的sql语句如下所示:

select * from t1 t where id = (select top 1 id from t1 where grp = t.grp order by createtime desc )

下面给大家介绍oracle查询取出每组中的第一条记录

oracle查询:取出每组中的第一条记录

按type字段分组,code排序,取出每组中的第一条记录

方法一:

select type,min(code) from group_info

group by type;

注意:select 后面的列要在group by 子句中,或是用聚合函数包含,否则会有语法错误。

方法二:

SELECT * FROM(

SELECT z.type , z.code ,ROW_NUMBER()

OVER(PARTITION BY z.type ORDER BY z.code) AS code_id

FROM group_info z

)

WHERE code_id =1;

这里涉及到的over()是oracle的分析函数

参考sql reference文档:

Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group.

Analytic functions are the last set of operations performed in a query except for the final ORDER  BY clause. All joins and all WHERE , GROUP  BY , and HAVING clauses are completed before the analytic functions are processed. Therefore, analytic functions can appear only in the select list or ORDER  BY clause.

语法结构:

analytic_function ([ arguments ]) OVER

(analytic_clause)

其中analytic_clause结构包括:

[ query_partition_clause ]

[ order_by_clause [ windowing_clause ] ]

也就是:函数名( [ 参数 ] ) over( [ 分区子句 ]  [ 排序子句 [ 滑动窗口子句 ] ])

这里PARTITION BY 引导的分区子句类似于聚组函数中的group by,排序子句可看成是select语句中的order by.

mysql 中只获取1条数据

SELECT * FROM 表 LIMIT 0, 10

LIMIT 接受一个或两个数字参数。

参数必须是一个整数常量。

如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,

第二个参数指定返回记录行的最大数目。

初始记录行的偏移量是 0(而不是 1)

主意:limit 用于 having 之后

自己的示例:

select count(1),tpc_equipment_code from tb_parts_consume GROUP BY tpc_equipment_code ORDER BY count(1) DESC LIMIT 1;

时间: 2015-10-31

oracle sql取查询结果第一条,SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)...相关推荐

  1. mysql查询数据库第一条记录_SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)...

    Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组 ...

  2. sql子查询示例_学习SQL:SQL查询示例

    sql子查询示例 In the previous article we've practiced SQL, and today, we'll continue with a few more SQL ...

  3. sql镶嵌查询_超实用的SQL语句之嵌套查询

    嵌套查询 什么是嵌套查询. 嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询.其中外层查询也称为父查询,主查询.内 ...

  4. C语言sql参数化查询,使用LIKE的sql参数化查询

    我试图将参数传递给quert,但它不起作用.什么是最好的方式来做到这一点?我不想连接字符串.这里是我的查询:使用LIKE的sql参数化查询 string cmd = @" SELECT * ...

  5. oracle 视图去重复,CSS_Oracle几种查找和删除重复记录的方法总结,平时工作中可能会遇到当试图 - phpStudy...

    Oracle几种查找和删除重复记录的方法总结 平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删 ...

  6. python爬取玉米、小麦、水稻信息数据到本地为网页形式和mysql数据库中

    1.创建Scrapy项目 scrapy startproject ExGrain 2.进入项目目录,使用命令genspider创建Spider scrapy genspider exgrain ex- ...

  7. 通话记录查询Java_Android获取手机通话记录的方法

    Android如何获取手机通话记录,本文为大家揭晓. 获取手机通话记录流程: 1. 获取ContentResolver; ContentResolver resolver = getContentRe ...

  8. SQL关联查询详解,SQL JOIN详解

    关联查询,也称为多表查询,指两个或更多个表一起完成查询操作. 前提条件:这些一起查询的表之间是有关系的(一对一.一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键. 一 ...

  9. mysql sql 子查询 执行顺序_MySQL,SQL语句执行顺序

    1.SQL执行顺序: select 考生姓名, max(总成绩) asmax总成绩fromtb_Gradewhere 考生姓名 is not null group by考生姓名having max(总 ...

最新文章

  1. HttpModule与HttpHandler详解(转)
  2. Bootstrap4+MySQL前后端综合实训-Day07-AM【ajax局部刷新——(单个/批量)删除用户按钮的实现、更新用户信息按钮的实现】
  3. 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数
  4. asp.net 动态添加JavaScript方法
  5. JAVA知识基础(十):多态
  6. abb工业机器人教程 zxw_你不一定知道的冷知识-工业机器人之ABB篇
  7. 485串口测试工具软件_探索者 STM32F407 开发板资料连载第三十一章 485 实验
  8. Spring中使用@Async注解使Even监听事件之间的执行变为异步
  9. CmemDC类 的使用方法
  10. (转)解决PowerDesigner 反向工程没有注释(备注)
  11. 实验二 VB基本界面设计
  12. Android 简单又炫酷的帧动画(加载动画)
  13. STCMCU各系列里程碑的进化
  14. JAVA数据聚合服务_Spring Cloud 跨服务数据聚合小框架
  15. cryEngine5.3打包
  16. 计算机在档案管理中的作用,计算机技术在档案管理应用中的必要性
  17. 我的世界php motd,我的世界MOTD攻击服务器 频繁发送请求
  18. 想要成为推荐算法工程师,都要准备哪些东西
  19. 存款机不认的新版人民币
  20. java split 冒号_Java中字符串split() 的使用方法,没你想的那么简单

热门文章

  1. 下列描述中 哪些符合java语言的特征_coreJavaBasic试题带答案
  2. cookie java 写入_JAVA中如何读写COOKIE
  3. java 抽象类、接口使用
  4. 2021年,开发者们如何拥抱 5G 消息?
  5. iPhone13系列售价曝光:4535元起售;微信暂停个人帐号新用户注册;Android 12 Beta 3.1发布|极客头条...
  6. 利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!
  7. 吊打面试官系列:你会「递归」么?
  8. “出道” 5 年采用率达 78%,Kubernetes 为何如此成功?
  9. 漫画:去掉一个数,如何让剩余的数乘积最大?
  10. Java 会是首选的最佳编程语言吗?