MySQL的一个一条SQL语句查询所有不同种类产品的一部分结果实例的SQL语句
2009-08-24 11:29
761 查看
MySQL的一个一条SQL语句查询所有不同种类产品的一部分结果实例的SQL语句
for&ever 2009-08-24
考虑如下场景:
有一个产品表(product),里面有很多产品记录。表格有一个产品类型的字段 prodType,用来标示不同的产品类型。产品类型的种类是一定的,例如,总共有10种不同的产品类型。
要求:
通过一条SQL 语句,按着产品的ID进行排序,分别查询出这10种不同类型的产品的最新的5个。
例如,如下的表的记录:
1 prodTypeA
2 prodTypeB
3 prodTypeA
4 prodTypeA
5 prodTypeA
6 prodTypeB
7 prodTypeA
8 prodTypeA
9 prodTypeA
那么就需要通过一条SQL 语句,查询出如下的结果集:
9 prodTypeA
8 prodTypeA
7 prodTypeA
5 prodTypeA
4 prodTypeA
6 prodTypeB
2 prodTypeB
今天和 xinxinran 讨论后,得到结果如下:::
可以通过如下的SQL查询得到:
SELECT id , prodType FROM product a WHERE ( SELECT count( 1 ) FROM product b WHERE a.prodType = b.prodType AND b.id >= a.id ) <=5
那么,如果要获取最老的5条记录呢?
很简单,修改 b.id >= a.id 为 b.id <= a.id 即可,如下:
SELECT id , prodType FROM product a WHERE ( SELECT count( 1 ) FROM product b WHERE a.prodType = b.prodType AND b.id <= a.id ) <=5
@forandever for&ever 2009-08-24
for&ever 2009-08-24
考虑如下场景:
有一个产品表(product),里面有很多产品记录。表格有一个产品类型的字段 prodType,用来标示不同的产品类型。产品类型的种类是一定的,例如,总共有10种不同的产品类型。
要求:
通过一条SQL 语句,按着产品的ID进行排序,分别查询出这10种不同类型的产品的最新的5个。
例如,如下的表的记录:
1 prodTypeA
2 prodTypeB
3 prodTypeA
4 prodTypeA
5 prodTypeA
6 prodTypeB
7 prodTypeA
8 prodTypeA
9 prodTypeA
那么就需要通过一条SQL 语句,查询出如下的结果集:
9 prodTypeA
8 prodTypeA
7 prodTypeA
5 prodTypeA
4 prodTypeA
6 prodTypeB
2 prodTypeB
今天和 xinxinran 讨论后,得到结果如下:::
可以通过如下的SQL查询得到:
SELECT id , prodType FROM product a WHERE ( SELECT count( 1 ) FROM product b WHERE a.prodType = b.prodType AND b.id >= a.id ) <=5
那么,如果要获取最老的5条记录呢?
很简单,修改 b.id >= a.id 为 b.id <= a.id 即可,如下:
SELECT id , prodType FROM product a WHERE ( SELECT count( 1 ) FROM product b WHERE a.prodType = b.prodType AND b.id <= a.id ) <=5
@forandever for&ever 2009-08-24
相关文章推荐
- mysql查询当天所有数据sql语句
- MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
- php中mysql一条sql语句查询出所有符合条件的数据,该怎么写?
- hibernate+mysql中文查询不出结果,其他查询正常,SQL语句也正常
- SQL SERVER 2000 的企业管理器与查询分析器对于同一SQL语句有两个不同查询结果!
- MySQL中明知道查询结果只有一个,SQL语句中使用LIMIT 1会提高查询效率
- 使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和表名,字段名
- 解决:hibernate+mysql中文查询不出结果,SQL语句也正常
- mysql查询当天所有数据sql语句
- mysql使用sql语句查询数据库所有表注释已经表字段注释
- mysql 在sql查询语句结果中,数字加千分逗号
- MYSQL 配置查询日志[包含所有执行的SQL语句]
- mysql查询当天所有数据sql语句、查询数据表中的记录
- mysql 用sql语句查询一个表中的所有字段类型、注释
- MySQL循环遍历执行查询SQL语句结果的方法
- 如何解决:mysql中文查询不出结果(软件与SQL语句都正常)
- MySQL循环遍历执行查询SQL语句结果的方法
- Java程序和Oracle数据库调用相同的SQL查询语句,结果却不同
- MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
- mysql查询当天所有数据sql语句