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
那么hz.hzgsgl.net,万一要获得最老的5条登记呢?
很容易www.dbsts.info,修正 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全面同意。像Linus这么的大牛,垄断系统这么既深又广的问题,