zoukankan      html  css  js  c++  java
  • mysql group by 组内排序

    有数据表 comments
    ------------------------------------------------
    id | newsID | comment theTime |
    ------------------------------------------------
    | 1  |        1      |         aaa    |     11       |
    ------------------------------------------------
    | 2  |        1      |         bbb    |     12       |
    ------------------------------------------------
    | 3  |        2      |         ccc     |     12       |

    ------------------------------------------------

    newsID是新闻ID,每条新闻有多条评论comment,theTime是发表评论的时间

    现在想要查看每条新闻的最新一条评论:

    select * from comments group by newsID 显然不行

    select * from comments group by newsID order by theTime desc 是组外排序,也不行

    下面有两种方法可以实现:

    (1)
    selet tt.id,tt.newsID,tt.comment,tt.theTime from(  
    select id,newsID,comment,theTime from comments order by theTime desc) as tt group by newsID 


    (2)
    select id,newsID,comment,theTime from comments as tt group by id,newsID,comment,theTime having
     theTime=(select max(theTime) from comments where newsID=tt.newsID)

    转自:http://blog.csdn.net/shellching/article/details/8292338

  • 相关阅读:
    vue3.0配置代理proxy 解决跨域问题
    1/26 机器人未来待解决问题
    每日一诵
    2020/11/14 关于股票的价格
    2020/11/14 再思股票价值
    11/2 股票价值
    我们为什么会越来越笨
    关于追女朋友
    关于早睡早起
    vue学习心得
  • 原文地址:https://www.cnblogs.com/yiwd/p/4846090.html
Copyright © 2011-2022 走看看