精华内容
下载资源
问答
  • 查出这个表中state值最大的业务对应的bsnum和state这两个字段 SELECT bsnum, STATE AS FILE_STATE FROM FILE_RECORD r WHERE STATE =( SELECT MAX(STATE) FROM FILE_RECORD WHERE bsnum = r.bsnum ...

    查出存货表中 ID 值最大的业务对应的字段的值

     

    select id,cinvcode,fprice,ccurrency from  StProducts t1 where id = (
    select max(id) as ID from StProducts where cinvcode=t1.cinvcode
    group by cinvcode,ccurrency)

    展开全文
  • 比如:现在表中有3个字段:id,score,name,,根据name分组然后查询出name同一个组中的最大值和最小值(同时查询出),用一条sql语句(比如mysql数据库)。有好的方法么?求指教。
  • 查询字段最大值可以使用SQL语句: SELECT MAX(列) FROM 表 现在我想查询某列的最后100个数据的最大值,怎么办? 请高人指点……
  • 问题描述:  有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)和FileVer(文件版本号)。... 要求查询出FileName字段重复时,FileVer值最大的所有数据。 SQL语句如下: 1 SEL...

    问题描述:

      有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)和FileVer(文件版本号)。

      现在的表数据是这样的,FileName字段的名称可能有一样的(重复的),但是重复的时候,它们对应的FileVer不一样。

     

    查询结果:

      要求查询出FileName字段重复时,FileVer值最大的所有数据。

     

    SQL语句如下:

    1 SELECT *
    2 FROM(
    3     SELECT *,ROW_NUMBER() OVER(PARTITION BY FileName ORDER BY FileVer DESC) Num FROM File_Info
    4     WHERE ModuleDataId='0B01DACC-27EC-4689-930B-088FC4E07A7A'
    5 ) t
    6 WHERE t.Num=1

     

    查询前后效果如下:

    展开全文
  • 一个为交易表,有唯一id,别名trade_id 一个为交易状态详情表,记录trade_id的多个状态。...直接粘贴此sql,执行即知。 -- ---------------------------- -- Table structure for `trade_test` -- ------...

    一个为交易表,有唯一id,别名trade_id

    一个为交易状态详情表,记录trade_id的多个状态。

    进行了两个表查询。查询某个trade_id的交易情况及最新状态。


    直接粘贴此sql,执行即知。

    -- ----------------------------
    -- Table structure for `trade_test`
    -- ----------------------------
    DROP TABLE IF EXISTS `trade_test`;
    CREATE TABLE `trade_test` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` int(11) NOT NULL COMMENT '用户ID',
      `create_at` int(11) NOT NULL COMMENT '创建时间',
      `totalmoney` decimal(10,2) NOT NULL COMMENT '总金额',
      `tid` int(11) NOT NULL COMMENT '交易编号',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='交易发起表';

    -- ----------------------------
    -- Records of trade_test
    -- ----------------------------
    INSERT INTO `trade_test` VALUES ('1', '1', '1451700000', '60.00', '1111');
    INSERT INTO `trade_test` VALUES ('3', '2', '1451800000', '50.00', '2222');


    DROP TABLE IF EXISTS `status_detail_test`;
    CREATE TABLE `status_detail_test` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `trade_id` int(11) NOT NULL,
      `status_name` varchar(10) DEFAULT NULL,
      `brief` text COMMENT '状态说明',
      `create_at` int(11) DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='交易状态详情表';

    -- ----------------------------
    -- Records of status_detail
    -- ----------------------------
    INSERT INTO `status_detail_test` VALUES ('1', '1', 'START', null, '1453595414');
    INSERT INTO `status_detail_test` VALUES ('2', '1', 'AGREE', null, '1453595753');
    INSERT INTO `status_detail_test` VALUES ('3', '2', 'START', null, '1453898857');
    INSERT INTO `status_detail_test` VALUES ('4', '2', 'AGREE', null, '1453941720');
    INSERT INTO `status_detail_test` VALUES ('5', '2', 'PAY', null, '1453941924');
    INSERT INTO `status_detail_test` VALUES ('6', '1', 'PAY', null, '1453942924');
    INSERT INTO `status_detail_test` VALUES ('7', '1', 'TRANSFER', null, '1455564464');
    INSERT INTO `status_detail_test` VALUES ('8', '1', 'COMPLETE', null, '1455670471');

    SELECT
    a.id as trade_id,
    a.create_at as trade_create_at,
    b.id as status_final_id,
    b.status_name,
    b.create_at as status_create_at
    FROM
    trade_test AS a ,
    status_detail_test AS b
    WHERE
    b.trade_id = a.id
    AND
    b.create_at = (select max(create_at) from status_detail_test)
    AND
    a.id = 1

    --

    引用一简单的例子:

    http://zhidao.baidu.com/link?url=15DnazEMsBVsoIs_M-WiFfLjt-YI8tEtuvL2yN7aEDe3x8cr4u_OgpgyUy1vJ4Pas3zzhZpQsY1fGs-KdFnI-q

    例如:表字段
    id,name,age,

    要求:取出所有年龄最大的一个纪录


    select top 1 id,name,age from 表 order by age desc

    按照年龄倒序排序,然后取第一条。


    考虑可能有多人年龄相同,如果都需取出,可以这样写:

    select id,name,age from 表 where age=(select max(age) from 表)



      本文转自phpervip 51CTO博客,原文链接:http://blog.51cto.com/phpervip/1743019,如需转载请自行联系原作者





    展开全文
  • 这次记录的是分组中某字段最大值查询结果: 比如:从一张记录装置缺陷的表中,查询出每个装置的最新的一条缺陷记录。 正确的sql,下面这条语句是其中一种可行的方法: SELECT t.*FROM (SELECT * FROM sms_...

    最近在用一款组态软件,涉及到sql查询来得出数据集。需要在一定的限制下,得出想要的查询结果。某些查询的方法整理一下。

    这次记录的是分组中某字段最大值的查询结果:

    比如:从一张记录装置缺陷的表中,查询出每个装置的最新的一条缺陷记录。

    正确的sql,下面这条语句是其中一种可行的方法:

    SELECT t.*  FROM (SELECT * FROM sms_equipment_defect ORDER BY faultTime DESC) t  GROUP BY t.equipmentMrid ;

    这个查询,即能查出sms_equipment_defect表中按照t.equipmentMrid分组,faultTime字段值最大的每条数据。

    因为:首先mysql分组时,mysql 手册上面说,GROUP BY 时是按照某种顺序排序的,某种顺序到底是什么顺序?其实根本没有顺序。所以,需要用子查询对表中的内容进行排序,然后,再分组时,分组结果就是取得最上面的一条记录,即,每组中faultTime最大的那个记录。

     

    备注:对于分组中某字段最大值的查询,一些错误的sql方法:

    1、错误形式1:

    SELECT * FROM sms_equipment_defect GROUP BY  equipmentMrid  ORDER BY faultTime DESC;

    这条语句选择出来的每一条记录是最早的记录,原因是 group by 会比 order by 先执行,这样也就没有办法将 group by 之前,也就是在分组之前进行排序了。

     

    2、错误形式2:

    SELECT *,max(faultTime) as max_faultTime FROM sms_equipment_defect GROUP BY  equipmentMrid ORDER BY faultTime DESC 

    这条语句的没错是选出了最大发布时间,但是你可 以对比一下 faultTime和 max_faultTime 并不相等,即不是同一条!(可能记录有相当的情况,就是分组的目标记录只有一条的时候!) 

    为 什么呢?原因很简单,这条语句相当于是 在group by 以后选出本组的最大的发布时间!对分组没有起到任何影响!因为SELECT子句是最后执行的! 

     

    3、错误形式3:

    SELECT *,max(faultTime ) as max_line FROM sms_equipment_defect GROUP BY  equipmentMrid HAVING faultTime =max(faultTime ) 

    其实,这条错误语句,等同于下面的语句:

    SELECT *,max(faultTime ) as max_line FROM sms_equipment_defect GROUP BY  equipmentMrid HAVING count(*)=1 ; 

    faultTime =max(faultTime ) 只有在分组中的记录只有一条的时候才成立,原因很明白吧!只有一条他才会和本组的最大发布时间相等阿,(默认faultTime 为不重复的值) 
    --------------------- 
    作者:yoyofu007 
    来源:CSDN 
    原文:https://blog.csdn.net/yoyofu007/article/details/82734608 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • SELECT TAB_A.* FROM (  SELECT a.*, ROW_NUMBER() OVER( PARTITION BY a.分组字段 ORDER BY a.排序字段 DESC ) ROWNO  FROM 表1 a  ) TAB_A  WHERE ROWNO = 1
  • 问题是: 数据库有一个表 code,里面有个点击量字段click_num和一个类别...经过N次搜索,N次检测网上的解决SQL语句,终于找到个优雅的而且结果正确的SQL,这个是一个博客作者在Mysql的官方文档里面发现的。 禁不...
  • 根据name分组,获取每组中createDate最大的那条记录(整条)查询出来 select * from ( select id,name,counts,createDate,row_number() over(partition by name order by createDate desc) rn from testTable ) t...
  • 经过不断进行sql优化,最终写出一个比较好的和快的sql语句,因为数据量较大,查询还是很慢,所以后期需要借助存储过程查询 sql语句:select city,wse,wd,ws,time from (select city,wse,wd,ws,time from ep_...
  • --根据name分组,获取每组中createDate最大的那条记录(整条)查询出来 ---------------------------------------------- 创建一张表,语句如下: [sql] view plaincopy 1. CREATE TABLE [dbo].[testTable...
  • 问题所在: ...例子:需求,查同名下,最大出生日期的那条记录(所有字段) select * from (select * from tableA order by born_date desc) group by name 这里有个问题:在mysql 5.7 版本后中子查询的排序...
  • 要求:有一种student表,字段有姓名(XM)、语文成绩(YW)、数学成绩(SX)、英语成绩(YU),然后用sql查询每一个学生所有科目中的最高分和最低分。如图:  惊喜吧,意外吧!不按常理出牌,以前学校教我们的都...
  • MySql : 有N张表,N未知,每张表都有一个字段(id),每张表的字段结构不完全一样,如何查询所有表里面所有id的最大值?如下图所示: 对上面三张表进行操作的话,结果应该为:9 SQL语句: select greatest( ...
  • SQL语句(十二)分组查询 (十二)分组查询 将数据表中的数据按某种条件分成组,按组显示统计信息 查询各班学生的最大年龄、最小年龄、平均年龄和人数 分组 SELECT <字段名表1&...
  • 在同张表查询多个字段的最大最小值并且排除空字符...最大值sql语句如下: --查询最小时间 select min(MinDate) as MinDate from (SELECT ( SELECT min(别名2) AS MinDate FROM ( SELECT 表别名.字段1 ...
  • 表名:inventory 字段sheetCode ,字段sheetCode的内容分别是552, 275, cs587, be78g, 9h87, 87gb, 998, 276 如上:请问怎么用sql语句查询纯数字最大值,即查询结果998
  • 问题:从oracle备份的sql文件中有一个字段很大,在oracle中该字段的类型是CLOB,通过navicat还原,以及命令还原这些sql文件到oracle的时候,凡是这个字段的长度大的都还原不了,导致还原后的数据是少的。...
  • 将记录按某个字段分组,取每个分组中某个字段最大值的所有记录。举栗子来说。 已知分数表“score”,包含字段“id", "name", "course", "score"。包含记录如下图所示。 现在,要求查询每个人分数最高的课程的...
  • SQL语句优化

    2018-01-14 19:28:12
    SQL语句优化 建表 主键无符号自增,不使用字符串UUID做主键,因为辅助索引中存放的是主建索引的,通过主键索引间接查询数据,主键索引过长,会增加辅助索引文件的大小 数据类型:行数据 65535 字节,在分配...
  • 以上图的table数据为例,需要SQL语句一次性查询出part_no: 0899020234 ver:2 和part_no:0805260612 var:2 的这两笔数据。 有两种方法可以实现: 第一种,用 max(VER) over( partition by PART_NO) xx
  • 易语言SQL基本语句模块源码,SQL基本语句模块,SQL_查询,SQL_添加,SQL_更新,SQL_删除,SQL_删除表,SQL_清空表,SQL_取记录数,SQL_取平均值,SQL_取最小值,SQL_取最大值,SQL_取首记录字段值,SQL_取尾记录字段值,SQL_取总计...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 314
精华内容 125
关键字:

查询字段最大值sql语句