subwarhead 2012-08-27 18:12
浏览 398
已采纳

求一条统计查询的SQL语句

 

    有一个站内私信表 private_message:

     


    想要实现类似于微博私信那种根据 好友 查询出私信会话.

     

     

select max(id) m_id,count(id) from ose_private_message where user_id=1 group by friend_id order by m_id;

 这条语句就是根据好友id(friend_id) 分组查询出和每个好友的私信数目,以及和好友的最近一条私信记录.

 


 

现在就想要同时查询出和每个好友的未读的私信数(read_status=0表示未读).

请问一条SQL语句能实现吗(MYSQL).SQL语句该怎么写嘞.

  • 写回答

1条回答 默认 最新

  • jinnianshilongnian 2012-08-27 19:41
    关注

    select
    friend_id,
    max(id) m_id,
    count(id),
    (select count(*) from ose_private_message b where b.user_id=1 and b.friend_id=a.friend_id and b.read_status=0) unread_count
    from ose_private_message a where user_id=1 group by friend_id order by m_id

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况