首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

union排序的有关问题

2013-06-19 
union排序的问题在一个视图里用了union在首页显示前几条出来每个分类都按照最新的时间排序 如下:能实现吗?

union排序的问题
在一个视图里用了union  在首页显示前几条出来  每个分类都按照最新的时间排序 

如下:

能实现吗?
[解决办法]
select * from (
select top 10 id,title,time,kid from News where kid = 1 
UNION 
select top 6 id,title,time,kid from News where kid = 5 
UNION 
select top 8 id,title,time,kid from News where kid = 3 
UNION 
select top 8 id,title,time,kid from News where kid = 7 
UNION 
select top 6 id,title,time,kid from News where kid = 6
UNION 
select top 10 id,title,time,kid from News where kid = 2 ) ORDER BY time DESC
你是相对整体排序吧
[解决办法]

你需要再对union之后的查询结果在排序。



select b.* from 
(
select top 10 id,title,time,kid from News where kid = 1 ORDER BY time DESC
UNION 
select top 6 id,title,time,kid from News where kid = 5 ORDER BY time DESC
UNION 
select top 8 id,title,time,kid from News where kid = 3 ORDER BY time DESC
UNION 
select top 8 id,title,time,kid from News where kid = 7 ORDER BY time DESC


UNION 
select top 6 id,title,time,kid from News where kid = 6 ORDER BY time DESC
UNION 
select top 10 id,title,time,kid from News where kid = 2 ORDER BY time DESC
) b order by b.time desc



[解决办法]
改用UNION ALL
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

试过了,9、10楼的方法不行。

查询结果、每个分类下、显示的不是按时间排序最新的几条。

搞不明白 ,每个分类下都 order by 了,为什么显示的不是每个分类下最新的几条。

union 会自动按升序排序

用union all可以实现,但是会产生重复数据


UNION ALL 就可以了

重复数据是否会产生那是跟他select出来的结果有关
[解决办法]
9楼的按说是没有问题的!

热点排行