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

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

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

例子

201511031130011.png

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

201511031130012.png

对应的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;

本文标题: SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)

本文地址: http://www.cppcns.com/shujuku/mssql/133968.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux select/poll机制原理分析

转载一篇文章,讲解select和poll机制的,分享给大家。前言Read the fucking source code! --By 鲁迅A picture is worth a thousand words. --By 高尔基1. 概述Linux系统在访问设备的时候,存在以下几种IO模型:Blocking IO Model&am…

SSM框架的搭建学习(1)---MyBatis的环境搭建

SSM(SpringSpringMVCMyBatis)框架为当今最为流行的WEB开发框架之一,基本上涉及数据库的一些增删改查操作都可以借用此框架,本尊此前接的一个小公司关于楼宇空调监控指标的项目就是基于此框架,只不过当时框架已经被别人搭建好,只等我去添砖加瓦,并没有从头开始对此框架进行着手搭…

argv python 提示输入_Python解释器

一、Python解释器我们编写的Python代码都要放在Python解释器上运行,解释器是代码与计算机硬件之间的软件逻辑层。当我们在操作系统上安装好Python之后,它就包含了保证Python运行的最小化组件:解释器 和 标准库。根据选用的Python版本的不同&a…

高阶篇:8.1)开模前评审及提交资料;

本章目的:明确开模前需要提交的资料,确保开模一次性成功。 在现有机械行业制作技术的大环境下,除却必要的机加工零件之外,大部分的零件量产都需要开模制作。如塑胶、钣金、压铸、粉末冶金、锻造等。 但是模具是很贵的(…

Android系统充电系统介绍-预防手机充电爆炸

1、锂电池介绍锂离子电池由日本索尼公司于1990年最先开发成功。它是把锂离子嵌入碳(石油焦炭和石墨)中形成负极(传统锂电池用锂或锂合金作负极)。正极材料常用LixCoO2 ,也用 LixNiO2 ,和LixMnO4 ,电解液用L…

c 结构体中的变长数组

在Linux系统里,/usr/include/linux/if_pppox.h里面有这样一个结构: struct pppoe_tag { __u16 tag_type; __u16 tag_len; char tag_data[0]; } __attribute ((packed)); 最后一个成员为可变长的数组,对于TLV(Type-Length-Value&am…

Linux物理内存初始化

背景Read the fucking source code! --By 鲁迅A picture is worth a thousand words. --By 高尔基说明:Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio1. 介绍让我们思考…

mysql中%3c%3e和=_Grafana+Prometheus 监控 MySQL

架构图环境IP环境需装软件192.168.0.237mysql-5.7.20node_exporter-0.15.2.linux-amd64.tar.gzmysqld_exporter-0.10.0.linux-amd64.tar.gz192.168.0.248grafanaprometheusprometheus-2.1.0.linux-amd64.tar.gznode_exporter-0.15.2.linux-amd64.tar.gzgrafana-4.6.3.linux-x64…

Linux CentOS7.0 (01)在Vmvare Workstation上 安装配置

一、新建虚拟机 1、创建新的虚拟机 -》 默认典型 -》选择安装介质 2、指定虚拟机名称、安装目录、磁盘容量大小 点击 “完成”,创建虚拟机! 随后虚拟机将自动启动安装过程。 二、安装linux 1、选择 English、English(United States&#xff0…

i=1,为什么 (++i)+(++i)=6?

源码#include "stdio.h"int main(void) {int i 1;printf("%d\n",(i) (i));return 0; }执行weiqifabsp-ubuntu1804:~/c/undif$ gcc g.c && ./a.out 6 weiqifabsp-ubuntu1804:~/c/undif$为什么出现这个鬼现象?原因很简单,C语…

celery mysql 异步_celery配合rabbitmq任务队列实现任务的异步调度执行[celery redis]

前言:51cto的文章已经不再补充更新了,另外celery rabbitmq详细的使用方法请到这里浏览.http://xiaorui.cc/2014/11/16/celery-rabbitmq%E5%AE%9E%E7%8E%B0%E4%BB%BB%E5%8A%A1%E9%98%9F%E5%88%97%E7%9A%84%E5%BC%82%E6%AD%A5%E6%89%A7%E8%A1%8C/为啥要用c…

Android-HIDL实例解析

HIDL 简介“HAL interface definition language or HIDL (pronounced “hide-l”) is an interface description language (IDL) to specify the interface between a HAL and its users. It allows specifying types and method calls, collected into interfaces and package…

phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...

Mysql入门基础 数据库创建篇1.创建数据表---基础(高手跳过)正统方法:create [TEMPORARY] table 表名 [if not exists](创建的列项定义)[表的选项][分区的选项];#正统的创建方式,具体的参数,请参考mysql手册,在这里不做详细的解释&…

区域赛第33天

1、最近感觉自己的时间可以利用好的,但是就是自己的学习效率比较低,主要问题就是一旦放松下来就会放松很长的时间,所以说浪费了很多的时间。。。 2、现在最重要的就是从心底相信自己真的能拿金牌,所以就是现在主要的任务就是恢复信…

用bat-抓取android日志

echo off cls set filename%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% set postfixdebug.log set debugfilename%filename%-%postfix% adb shell logcat -G 4M adb shell logcat > %debugfilename%pause

mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享

最近在启动mysql的时候发现mysql报错了,错误代码是2002,通过查找相关的资料发现是var/lib/mysql 的访问权限问题,所以这篇文章主要介绍了mysql中异常错误ERROR:2002的解决方法,需要的朋友可以参考借鉴,下面…

子矩阵(NOIP2014 普及组第四题)

描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与 列的相对顺序)被称为原矩阵的一个子矩阵。 例如,下面左图中选取第 2、4 行和第 2、4、5 列交叉位置的元素得到一个 2*3 …

linux spinlock/rwlock/seqlock原理剖析(基于ARM64)

背景Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio1. 概述吹起并发机制研究的进攻号角了!作为第一篇文章,应该提纲挈领的介绍下并发。什么是并发,…

isfull mysql_MySQL数据库之MySQL 出现 The table is full 的解决方法

本文主要向大家介绍了MySQL数据库之MySQL 出现 The table is full 的解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。当我们要写入新数据而发生“The table is full”告警错误时,先不要着急,按照下面的思…

RabbitMQ 资料整理

前言: 官方教程:    https://www.rabbitmq.com/getstarted.html 应用场景(之马云赚钱):    http://blog.csdn.net/whoamiyang/article/details/54954780    http://www.cnblogs.com/saltlight-wangchao/p/…