首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

展示重复的行,只显示不合并

2013-06-19 
显示重复的行,只显示不合并用到一个表productidproductbrandvolumecategoryprice1金龙鱼大豆调和油5升金龙

显示重复的行,只显示不合并
用到一个表product
id    product             brand   volume   category      price
1    金龙鱼大豆调和油5升     金龙鱼    5          浸润           68
2    金龙鱼花生油5升         金龙鱼    5           浸润           80
3    金龙鱼芝麻油5升         金龙鱼    5           压榨           90
4    福临门大豆油5升         福临门    5          浸润           65
5    福临门芝麻油油5升       福临门     5          压榨          88  
6    金龙鱼大豆食用油5L      金龙鱼    5          浸润           68
7    福临门大豆食用油5L      福临门    5          浸润           65


我想要整个表的行数都不变,但把排列顺序给理一下,就是把brand, volume, category这三个字段值相同行从上到下挨着显示出来,没重复的就最后显示,所以这个例子里的最后结果是:
id    product             brand   volume   category      price
1    金龙鱼大豆调和油5升     金龙鱼    5          浸润           68
2    金龙鱼花生油5升         金龙鱼    5          浸润           80
6    金龙鱼大豆食用油5L     金龙鱼    5          浸润           68
3    金龙鱼芝麻油5升         金龙鱼    5          压榨          90
4    福临门大豆油5升         福临门    5          浸润           65
7    福临门大豆食用油5L     福临门    5          浸润           65
5    福临门芝麻油油5升       福临门    5          压榨          88  


大虾帮忙看这个查询语句怎么写?多谢! 


[解决办法]



select * from product 
where EXISTS (select brand,volume,category  from product group by brand,volume,category 
having count(1)>1)
union all
select * from product 
where not EXISTS (select brand,volume,category  from product group by brand,volume,category 
having count(1)>1)


[解决办法]
直接按这个排序即可
order by brand desc,volume,category

热点排行