首页 新闻 搜索 专区 学院

请教一个mysql 语句如何实现

0
悬赏园豆:5 [已关闭问题] 关闭于 2016-04-15 15:31

只能用一句话sql完成, 取出评论表中评论最多10个人的最新一条数据

nookia的主页 nookia | 初学一级 | 园豆:199
提问于:2016-04-06 15:42
< >
分享
所有回答(4)
0

表结构呢

无影飞絮剑 | 园豆:1155 (小虾三级) | 2016-04-06 15:43

 id uid title content  create_time

支持(0) 反对(0) nookia | 园豆:199 (初学一级) | 2016-04-06 15:47
0

select * from table1 order by create_time limit 10

刘宏玺 | 园豆:14020 (专家六级) | 2016-04-06 16:11

这样是取出最新的10条评论,但这10条评论中有可能是同一个人发的

我要的效果是评论历史记录中最多的10个人产生的这10条数据。我知道可以通过子查询的group by,但我想知道还有其他办法只通过一条sql语句完成查询的。

支持(0) 反对(0) nookia | 园豆:199 (初学一级) | 2016-04-06 16:20

@dcb3688: 除了group by,没有更好的方法了

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2016-04-06 16:43
0

select * from table1 where createtime in (select max(createtime) from table1 where uid in (select top 10 uid from table1 group by uid order by content desc))

小光 | 园豆:1862 (小虾三级) | 2016-04-06 16:45
0
SELECT
    *
FROM
    (
        SELECT
            *
        FROM
            comment
        ORDER BY
            create_time DESC
    ) AS t
GROUP BY
    t.uid

 

nookia | 园豆:199 (初学一级) | 2016-04-15 15:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册