首页 新闻 会员 周边 捐助

SQL问题,怎么写,急

0
悬赏园豆:5 [已解决问题] 解决于 2012-09-17 14:43

如何写查询一个表中按照时间排序,某一字段不重复的SQL语句

xu_happy_you的主页 xu_happy_you | 菜鸟二级 | 园豆:222
提问于:2012-09-17 14:34
< >
分享
最佳答案
0
                                SELECT DISTINCT
                                        boarditemID, USERID, TYpeID, Title
                                FROM    tb_topic
                                ORDER BY adddate

使用DISTINCT 关键字过滤重复记录

收获园豆:5
acepro | 小虾三级 |园豆:1218 | 2012-09-17 14:38

你这句不行,刚问了下同事,问题现在解决了,3Q

View Code
SELECT * FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY BoardItemID ORDER BY AddDate DESC) AS RowNum FROM dbo.tb_topic) AS tb WHERE RowNum=1
xu_happy_you | 园豆:222 (菜鸟二级) | 2012-09-17 14:43
其他回答(1)
1

我这个可以

select * from (
select  distinct a.boarditemID as tsp from tb_topic a  order by a.boarditemID
)temp inner join (select * from tb_topic) a1 on temp.tsp=a1.boarditemID

KyrieYang | 园豆:205 (菜鸟二级) | 2012-09-17 14:46

对楼主提的问题理解不是很准确,这个应该是最好答案。
效率比楼主同事提供的要好。

支持(0) 反对(0) acepro | 园豆:1218 (小虾三级) | 2012-09-17 14:48

@acepro: 

我刚测试了这种好像报错了,看到这个结果,我突然忘记了 join连接查询,我再试试看!

这种的确好些,也容易理解一些!

支持(0) 反对(0) xu_happy_you | 园豆:222 (菜鸟二级) | 2012-09-17 15:18

@acepro: 

SELECT * FROM
(SELECT DISTINCT BoardItemID FROM tb_topic) AS A
JOIN 
(SELECT * FROM tb_topic)AS B
ON A.BoardItemID=B.BoardItemID

我试过了,还是全部查询出来了  而且 DISTINCT 这个关键字不能和 ORDER BY 一起

支持(0) 反对(0) xu_happy_you | 园豆:222 (菜鸟二级) | 2012-09-17 15:22

@xu_happy_you: 谁说的 我都测试了

支持(0) 反对(0) KyrieYang | 园豆:205 (菜鸟二级) | 2012-09-17 17:26

@bworling: 恩 这个是有问题我测试了

支持(0) 反对(0) KyrieYang | 园豆:205 (菜鸟二级) | 2012-09-17 17:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册