文章出自:http://zhidao.baidu.com/link?url=UTDXhHcfizHWM6tRar48i41_zwqVmF19iFiBhwQzGl7Ct2qlilPAzZlgl9KqFbAMolwvxnrQFh8UHXbQZcAT1q
假如表里面存放了每个商品不同日期的不同价格
product price date
1111 10.00 2007-07-01
2222 21.00 2007-07-01
2222 22.00 2007-07-02
1111 11.00 2007-07-02
3333 1.00 2007-07-01
我现在需要对商品分组后选择最后日期的那条记录
结果应该是
2222 22.00 2007-07-02
1111 11.00 2007-07-02
3333 1.00 2007-07-01
请问这个SQL怎么写?数据量较大,所以还要以性能优先
语句如下:
-- 用分组函数来做,假如你的表名是table_name select A.* from table_name A,(select product,max(date) max_date from table_name group by product) B where A.product=B.product and A.date=B.max_date;
相关推荐
因为在mysql分组是将第一个出现的数据进行展示出。 MySQL会创建临时表的几种情况: 1、UNION查询; 2、用到TEMPTABLE算法或者是UNION查询中的视图; 3、ORDER BY和GROUP BY的子句不一样时; 4、表连接中,ORDER BY...
由于MYSQL没有提供类似ORACLE中OVER()这样丰富的分析函数. 所以在MYSQL里需要实现这样的功能,我们只能用一些灵活的办法
附件包含的主要内容为演示MySQL之聚合查询、分组和排序的相关命令和效果。
这是我自己学习mysql时的学习笔记,每一个知识点都是自己动手写的,涵盖了mysql中的几乎全部的基础知识点,查询,子查询,分组,排序,常用函数,多表连接,视图,变量,存储过程,函数,分支结构,循环结构等等
首先先按某个字段进行order by,然后把有顺序的表进行分组,这样每组的成员都是有顺序的,而mysql默认取得分组的第一行。从而得到每组的最值。 select id, (@rowno := @rowno + 1) as rank, score, (C.end_ti
–按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...
主要介绍了详解MySQL分组排序求Top N的相关资料,需要的朋友可以参考下
mysql获取分组后每组的最大值实例详解 1. 测试数据库表如下: create table test ( `id` int not null auto_increment, `name` varchar(20) not null default '', `score` int not null default 0, primary key...
这是我自己学习mysql时的学习笔记,每一个知识点都是自己动手写的,涵盖了mysql中的几乎全部的基础知识点,查询,子查询,分组,排序,常用函数,多表连接,视图,变量,存储过程,函数,分支结构,循环结构等等
思路:先随机排序然后再分组就好了。 1、创建表: CREATE TABLE `xdx_test` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `class` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=...
MySQL 排序 MySQL 分组 MySQL 连接的使用 MySQL NULL 值处理 MySQL 正则表达式 MySQL 事务 MySQL ALTER命令 MySQL 索引 MySQL 临时表 MySQL 复制表 MySQL 元数据 MySQL 序列使用 MySQL 处理重复数据 MySQL 及 SQL ...
这是我自己学习mysql时的学习笔记,每一个知识点都是自己动手写的,涵盖了mysql中的几乎全部的基础知识点,查询,子查询,分组,排序,常用函数,多表连接,视图,变量,存储过程,函数,分支结构,循环结构等等
sql 排序:row_number() over(partition by sjjl_id order by fksj desc,最优化的情况,里面放的有例子,大家可以参考
主要包括order by关键字排序优化(无过滤不排序;顺序错,必排序;方向反,必排序;索引的选择;using filesort以及覆盖索引等内容)、group by关键字优化
1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 2.4 在...
1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 ...
+ 4.15.2 启动 MySQL 服务器的问题 + 4.15.3 自动启动和停止 MySQL + 4.15.4 选项文件 o 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? + 4.16.1 从一个 3.22 版本升级到 3.23 + 4.16.2 从一个 ...