Mysql怎么才能做到分类之后每个类别limit出X个结果?

紫电清霜 发布于 2013/03/08 11:46
阅读 601
收藏 2

 我有个问题:有如下的一个表,

================================================
 
id
user_id 
content
1 1 .......
2 1 .....

================================================
有N多个user_id,用什么sql语句才可以做到:
每个user_id只显示(limit)10个content
想要类似这样的结果:
user_id         content
1                  ....
.....最多只显示10个,user_id=1的.....
1                  ....

2                       ....
.....最多只显示10个,user_id=2的.....
2                        ....

 
这个情况就是每个类别(按照user_id)分类,
分类之后每个类别,至多取出10个,
这个SQL语句,应该怎么写 ?

问题的起源是这样的,OSC的设计就是,每个跟帖,都可以有N多评论,但是每个跟帖的评论只会至多显示X个。

我想知道这种情况的数据库表结构是怎么设计的:

每个类别,都只会limit出X个结果,这到底该怎么实现?SQL语句是怎样的?

谢谢!!!


加载中
0
黑豆白
黑豆白
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
合并结果集,自己在优化
0
南湖船老大
南湖船老大

有点理解了,这个只通过一条SQL貌似不好实现地~

还是分成两条吧

0
StormFour
StormFour
发现大部分提问题的都是MYSQL,其他商业数据库都很少会有问题。因为这些问题只有在MYSQL里面才是问题。对于其他数据库都不是什么问题。一条SQL足矣
0
jsyang888
jsyang888

引用来自“StormFour”的答案

发现大部分提问题的都是MYSQL,其他商业数据库都很少会有问题。因为这些问题只有在MYSQL里面才是问题。对于其他数据库都不是什么问题。一条SQL足矣

额, 根本不用2条sql

用标准SQL (ANSI) 的 alias,简单一句sql,就好了,(   补充: limit不是标准的sql,oracle的话,用top 吧)

和用不用(被Oracle收购的)Mysql真没啥关系,

飘过

@妖魔舞

紫电清霜
紫电清霜
谢谢了,不过,具体应该用怎样的sql语句来实现呢,可以说的具体点吗?还是不懂:(
返回顶部
顶部