佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1439|回复: 3

SQL Query问题, 不知道把这答案找出来... 救命啊...

[复制链接]
发表于 27-4-2008 02:03 AM | 显示全部楼层 |阅读模式
我不知道如何Query这个出来...
请前辈教导...


我有两个Table...
一个是会员,一个是会员讯息...
开始假如我只是要找"会员"里的"编号"在会员讯息的"讯息"出现多少次...
假设我要找会员ID50, 我用 Message like = '%ID50%' 在Condition里,再用Count算总数...
*message 里是一个讯息,因为他们可以同时会不一样的人,没有指定的.

不过现在我要做一个排行榜,就是把所有"会员"都找他们的总数...
再用Order DESC 找出最高的那几个...
就在这里我就当机了...
不知道如何Query出来...
希望高手教导....

救命啊
回复

使用道具 举报


ADVERTISEMENT

发表于 27-4-2008 10:28 PM | 显示全部楼层

回复 1# 伪君子 的帖子

可以列出Table Structure吗?
回复

使用道具 举报

发表于 30-4-2008 02:04 PM | 显示全部楼层

很简单,可以试试这个:

Table [Member]
- [Idx] int identity(1,1) not null
- [Code] nvarchar(20) null

Table [MemInfo]
- [Idx] int identity(1,1) not null
- [Code] nvarchar(20) null
- [Message] nvarchar(255) null

select top 50 t2.Code as [MemberCode], count(t1.Idx) as [Count]
from MemInfo t1 inner join Member t2 on t1.Code= t2.Code where t1.Message like '%ID50%'
group by t2.Code order by count(t1.Idx) desc
回复

使用道具 举报

发表于 8-5-2008 05:29 PM | 显示全部楼层
最简单的方法就是使用SELECT Count()指令
假设你的会员table名字为 user, 会员讯息table为 user_message, 而在这两个table 里面,你的会员号码的column name 是 user_id,寻找单个会员的message count你可以使用:

SELECT Count(user_id) AS count FROM user_message
WHERE user_id = 'ID50'

如果你要搜寻任何ID里面包括“ID50”这个字眼的话,

SELECT Count(user_id) AS count FROM user_message
WHERE user_id LIKE '%ID50%'

你的第二个要求,排行榜,可以用以下的statement 来获得(你可能得根据你的Table design来另行修改一些keyword):

SELECT DISTINCT user_id, COUNT(user_id) AS count FROM user_message
GROUP BY user_id
ORDER BY count DESC

要注意的是,以上 statement 只会计算 user_message 里面的排行,user 里面,不曾发表过信息的会员,由于其ID并没有在 user_message 里面,他们并不会被包括在这个 Query 的 result 里面,如果你要包含那些不曾发表过信息的,就得靠 Script 或其他 programming language 的帮助了。由于你没有阐明你是用什么 Language/Script,所以我没有提供这方面的 example.

EDIT: 昨晚想了一下,发觉事实上你可以使用 JOINT 来获得包含没有发表过讯息的会员在内的结果,不过由于我手头上没有类似的 table, 无法测试求证 statement 的正确性,所以没有发表在这里了。

[ 本帖最后由 geekman 于 9-5-2008 10:45 AM 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 28-12-2025 04:02 AM , Processed in 0.143381 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表