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
[解决办法]
UNION ALL 就可以了
重复数据是否会产生那是跟他select出来的结果有关
[解决办法]
9楼的按说是没有问题的!