表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 productID,productName,clickNum
from
(select parentID,max(clickNum) as maxNum from productinfo group by parentID) as x
left outer join productinfo as y on x.parentID=y.parentID
and y.clickNum=x.maxNum
order by clickNum DESC
select productID,productName,clickNum
from
(select parentID,max(clickNum) as maxNum from productInfo group by parentID) x
left outer join productInfo y on x.parentID=y.parentID and x.clickNum=y.maxNum
order by clickNum DESC
上面的语句,如果同一个类里面有二个相同价目的产品的话,那会产生什么结果呢,,任选其一吗?
其他情况,同意上面的