关于最新文章的发布者的排序问题,

sayfree 2009-02-13 04:55:51
不好意思,上个帖子没有表达清楚。还是重新开贴仔细的把问题说清楚吧。
===============================

多会员信息发布系统,每个会员都可以发布新闻。想实现的结果:最新发布信息的会员列表。

会员表:user
字段:uid(会员id)、uname(会员名称)

新闻表:news
字段:nid(新闻id)、ntitle(新闻题目)、ssid(发布新闻的会员的id,对应uid)

想实现的结果就是:最新发布文章的会员列表。
...全文
126 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
sayfree 2009-02-14
  • 打赏
  • 举报
回复
问题已经解决,谢谢大家。,
http://topic.csdn.net/u/20090214/08/4ab0c981-62b6-4a32-af5d-ebfd15ba3bf4.html
sayfree 2009-02-14
  • 打赏
  • 举报
回复
21楼,22楼,结果都能出来,但是唯一的缺点是“不是按照最新发布”排列的,我要求是最新的信息的发布者在最前面。
真是给各位添麻烦了!不过还没有满意的结果啊。
Dogfish 2009-02-13
  • 打赏
  • 举报
回复

select uname, max(nid) from news
inner join user on user.uid = news.ssid
group by uname
order by max(nid)
lzp4881 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sayfree 的回复:]
再说明一下我想要的结果,其实就跟论坛里的功能一样,一个最新发布信息的会员列表。数据库结构为:

会员表:user
字段:uid(会员id)、uname(会员名称)

新闻表:news
字段:nid(新闻id)、ntitle(新闻题目)、ssid(发布新闻的会员的id,对应uid)

想实现的结果就是:最新发布文章的会员列表。比如下面的数据:
==============================================
user表
uid uname
1 a
2 …
[/Quote]
-----------------
你不是要得到这个结果吗?
SELECT uname FROM [user] where uid in (select top 10 ssid from news GROUP BY ssid ORDER BY Max(nid) desc)
我这个得到的就是这个结果啊。
sayfree 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 lzp4881 的回复:]
SELECT uname FROM [user] where uid in (select top 10 ssid from news GROUP BY ssid ORDER BY Max(nid) desc)
这个肯定可以,SQL SERVER 2000下测试通过
[/Quote]
这个语句我测试了,是可以通过的,也不产生重复。但是不是实现文章最新发表者的倒叙排列。
lzp4881 2009-02-13
  • 打赏
  • 举报
回复
SELECT uname FROM [user] where uid in (select top 10 ssid from news GROUP BY ssid ORDER BY Max(nid) desc)
这个肯定可以,SQL SERVER 2000下测试通过
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sayfree 的回复:]
引用 13 楼 chinmo 的回复:
这个只能建一个临时表了

里面还有nid.uid uname
不然根本无法按新闻的id降序排序

结果里可有有uid或nid,我只想要不重复的uname在结果里面就行。试了一下午,也没弄出来,原来感觉挺简单的。
[/Quote]
我给你的代码里就可以有uid uname啊
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sayfree 的回复:]
引用 13 楼 chinmo 的回复:
这个只能建一个临时表了

里面还有nid.uid uname
不然根本无法按新闻的id降序排序

结果里可有有uid或nid,我只想要不重复的uname在结果里面就行。试了一下午,也没弄出来,原来感觉挺简单的。
[/Quote]
我给你的代码里就可以有uid uname啊
ok9966 2009-02-13
  • 打赏
  • 举报
回复
学习了。果然是高手如云
sayfree 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 chinmo 的回复:]
这个只能建一个临时表了

里面还有nid.uid uname
不然根本无法按新闻的id降序排序
[/Quote]
结果里可有有uid或nid,我只想要不重复的uname在结果里面就行。试了一下午,也没弄出来,原来感觉挺简单的。
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sayfree 的回复:]
错误提示:
除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。
[/Quote]
select top 10 uid,uname from user where uid in (select distinct ssid from news order by ssid desc)


你说的是我这个错误?
我执行怎么有数据?
没错误?
  • 打赏
  • 举报
回复
这个只能建一个临时表了

里面还有nid.uid uname
不然根本无法按新闻的id降序排序
sayfree 2009-02-13
  • 打赏
  • 举报
回复
错误提示:
除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ACMAIN_CHM 的回复:]
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)

既然你死活都不肯说你用的什么什么数据库,就帮你假设一个SQL SERVER。


SQL codeselect u.*
from user u inner join (
select top 10 ssid,max(nid)
from news
group by ssid
order by 2) b on u.uid=b.ssid
[/Quote]


你用这个和我4楼结果一样的,都是没有降序排序的
sayfree 2009-02-13
  • 打赏
  • 举报
回复
我用的是SQLserver数据库。忘了说了。
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sayfree 的回复:]
4楼的语句不通过,子查询不符合语法。
再说,子查询里order by ssid也不对,应该是按照新闻的id倒序排列结果得到会员的id。

go,,,on ,,,
[/Quote]

谁说通不过语法??

就只是没有按新闻ID排序而已
ACMAIN_CHM 2009-02-13
  • 打赏
  • 举报
回复
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧

既然你死活都不肯说你用的什么什么数据库,就帮你假设一个SQL SERVER。

select u.* 
from user u inner join (
select top 10 ssid,max(nid)
from news
group by ssid
order by 2) b on u.uid=b.ssid


搬运工865 2009-02-13
  • 打赏
  • 举报
回复
奇怪了
你试下
select distinct ssid from news order by ssid desc
这个是什么值?
sayfree 2009-02-13
  • 打赏
  • 举报
回复
再说明一下我想要的结果,其实就跟论坛里的功能一样,一个最新发布信息的会员列表。数据库结构为:

会员表:user
字段:uid(会员id)、uname(会员名称)

新闻表:news
字段:nid(新闻id)、ntitle(新闻题目)、ssid(发布新闻的会员的id,对应uid)

想实现的结果就是:最新发布文章的会员列表。比如下面的数据:
==============================================
user表
uid uname
1 a
2 b
3 c
4 d
news表
nid ntitle ssid
1 第一篇文章 1
2 第二篇文章 3
3 第三篇文章 1
4 第四篇文章 2
5 第五篇文章 2
6 第六篇文章 3
========================================
想得到的结果为:(有三个会员发布文章,得到这三个会员的名称)
uname
c
b
a
=======================================
各位大侠,请教了!
sayfree 2009-02-13
  • 打赏
  • 举报
回复
4楼的语句不通过,子查询不符合语法。
再说,子查询里order by ssid也不对,应该是按照新闻的id倒序排列结果得到会员的id。

go,,,on ,,,
加载更多回复(4)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧