dongzhankou2090 2011-12-18 23:37
浏览 125
已采纳

如何根据字段对MySQL结果进行分组

Hi, I have a table called msgsubjects with a schema shown below. Basically it holds messages for users. The field viewstatus is used to show if a message has been read/not. if its 0, msg is unread and 1 if message has been viewed.

id  int(11)         No      auto_increment                          
    ownerid int(11)         No                                  
    posterid    int(11)         No                                  
    viewstatus  int(11)         No                                  
    bodyid  int(11)         No                                  
    subject varchar(255)    utf8_general_ci     No                                   
    date    int(11)

This is my current sql to pull these results.

$q=sprintf("SELECT * FROM msgsubjects WHERE ownerid=%d ORDER BY date DESC LIMIT %d,%d",$curid,$start,$end);

Want I want to do is have my results returned grouped having unread messages shown first regardless, I want the groups to still be ordered by date. Can this be done with sql? I know I can do this with php but sql would be more efficient.

  • 写回答

2条回答 默认 最新

  • doushuzd3033 2011-12-18 23:42
    关注

    You are wanting to sort the messages by the viewstatus column

    $q=sprintf("SELECT * FROM msgsubjects WHERE ownerid=%d ORDER BY viewstatus ASC, date DESC LIMIT %d,%d",$curid,$start,$end);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line