mysql取出表中,某字段值最大的一条纪录,sql语句

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

一个为交易表,有唯一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,如需转载请自行联系原作者





相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
SQL 关系型数据库 MySQL
【Mysql】在多表查询过程中如果已经起了别名,就不能通过表名限定字段
【Mysql】在多表查询过程中如果已经起了别名,就不能通过表名限定字段
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL】DQL-基础查询-语句&演示(查询多个字段 / 所有字段/并设置别名/去重)
【MySQL】DQL-基础查询-语句&演示(查询多个字段 / 所有字段/并设置别名/去重)
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL系列笔记】常用SQL
常用SQL分为三种类型,分别为DDL,DML和DQL;这三种类型的SQL语句分别用于管理数据库结构、操作数据、以及查询数据,是数据库操作中最常用的语句类型。 在后面学习的多表联查中,SQL是分析业务后业务后能否实现的基础,以及后面如何书写动态SQL,以及完成级联查询的关键。
19 6
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
|
4天前
|
SQL 存储 关系型数据库
【MySQL系列笔记】SQL优化
SQL优化是通过调整数据库查询、索引、表结构和配置参数等方式,提高SQL查询性能和效率的过程。它旨在减少查询执行时间、减少系统资源消耗,从而提升数据库系统整体性能。优化方法包括索引优化、查询重写、表分区、适当选择和调整数据库引擎等。
22 3
|
5天前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
22 0
|
5天前
|
SQL 关系型数据库 MySQL
MySQL SQL error: #1271 - Illegal mix of collations for operation ‘UNION‘
MySQL SQL error: #1271 - Illegal mix of collations for operation ‘UNION‘
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
|
4天前
|
关系型数据库 MySQL Linux
【MySQL-2】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
【MySQL-2】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
|
5天前
|
弹性计算 关系型数据库 MySQL
在线安装MySQL5.7和MySQL8.0
【4月更文挑战第30天】
16 0