位置: 编程技术 - 正文
推荐整理分享SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)(sql获取第一条记录的内容),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sql获取上一条数据,sql获取第一条数据,sql获取第一行,sql获取上一条数据,sql获取第一条记录,sql查询取第一条,sql查询获取第一条数据,sql获取第一条记录,内容如对您有帮助,希望把文章链接给更多的朋友!
Sqlserver 获取每组中的第一条记录
在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面、功能下面,从数据库的术语来说,就是查找出每组中的一条数据。下面我们要实现的就是在sqlserver中实现从每组中取出第一条数据。
例子
我们要从上面获得的有效数据为:
对应的sql语句如下所示:
下面给大家介绍oracle查询取出每组中的第一条记录
oracle查询:取出每组中的第一条记录
按type字段分组,code排序,取出每组中的第一条记录
方法一:
注意:select 后面的列要在group by 子句中,或是用聚合函数包含,否则会有语法错误。
方法二:
这里涉及到的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条数据
LIMIT 接受一个或两个数字参数。
参数必须是一个整数常量。
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,
第二个参数指定返回记录行的最大数目。
初始记录行的偏移量是 0(而不是 1)
主意:limit 用于 having 之后
自己的示例:
sqlserver四舍五入使用round函数及cast和convert函数 引言今天和测试沟通一个百分比计算方式时遇到一个问题,我在存储过程里用到了强转CAST(.ASDECIMAL(5,1))我认为该方式只会保留一位小数,我给测试的
SQL Server将一列的多行内容拼接成一行的实现方法 下面大家先看下示例代码:示例昨天遇到一个SQLServer的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行
日常收集整理SqlServer数据库优化经验和注意事项 网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。优化数据
标签: sql获取第一条记录的内容
本文链接地址:https://www.jiuchutong.com/biancheng/312822.html 转载请保留说明!友情链接: 武汉网站建设