表className中有如下分类:
classID className
1 衣服
2 裤子
5 帽子
10 鞋子
表productInfo有如下记录:
productID productName parentID clickNum
1 男士衣服 1 90 --衣服类别中这条记录的点击率最高
2 女士衣服 1 80
3 男士裤子 2 70
4 女士裤子 2 90 --裤子类别中这条记录点击率最高
5 男士帽子 5 15
6 女士帽子 5 30 --帽子类别中这条点击率最高
7 男士鞋子 10 65 --鞋子类别中这条点击率最高
8 女士鞋子 10 52
9 女士鞋子1 10 54
现在要求分别把衣服,裤子,帽子,鞋子这些类别中点击率最高的一条记录找出来,然后再降序排列,结果应如下:
productID productName clickNum
1 男士衣服 90
4 女士裤子 90
7 男士鞋子 65
6 女士帽子 30
1:
select a.productid, a.productname, a.clicknum
from asf a, ( select parentid, max(clicknum) clicknum from asf group by parentid) b
where a.parentid = b.parentid and a.clicknum = b.clicknum
order by a.clicknum desc
2。SELECT productID, productName, clickNum
FROM productInfo
WHERE (convert(varchar(20),parentID) + '_' + convert(varchar(20),clickNum) in
(SELECT convert(varchar(20),parentID) + '_' + convert(varchar(20),MAX(clickNum))
FROM productInfo
GROUP BY parentID))