我正在使用一个讨论板,其中会有某个主题,用户可以评论或支持另一个评论。每个评论也可以由另一个用户回复,并会收到通知。
我的通知表
notification_id
是将收到通知的登录用户的 user_idnotification_from
是评论或喜欢用户帖子的人的 user_id。notification_topic
是主题的 id 加上通知的类型,它将区分它是评论还是赞成票notification_comment
是主题中的comment_id
+-----------------+-------------+------ --------------+------------------------------------------------ ---+------------------------+-------+--- ----------------+--------------------+------------ ----------+---------+--------+ | 通知ID | 通知图片 | 通知名称 | 通知标题 | notification_user_id | 通知日期 | 通知_来自 | 通知主题 | 通知评论 | 类型 | 状态 | +-----------------+-------------+------ --------------+------------------------------------------------ ---+------------------------+-------+--- ----------------+--------------------+------------ ----------+---------+--------+ | 1 | 32_1380182434_thumb.jpg | 希娜萨拉查 | 克莱斯勒文件出售股票| 2 | 1380188338 | 32 | 83_upvote | 1 | 点赞 | 阅读 | | 2 | 32_1380182434_thumb.jpg | 希娜萨拉查 | 克莱斯勒文件出售股票| 2 | 1380188342 | 32 | 83_评论 | 1 | 评论 | 阅读 | | 3 | 93_1379990163_thumb.jpg | 冯参孙 | 克莱斯勒文件出售股票| 2 | 1380188505 | 93 | 83_upvote | 1 | 点赞 | 阅读 | | 4 | 93_1379990163_thumb.jpg | 冯参孙 | 克莱斯勒文件出售股票| 2 | 1380188509 | 93 | 83_评论 | 1 | 评论 | 阅读 | | 5 | 93_1379990163_thumb.jpg | 冯参孙 | 克莱斯勒文件出售股票| 0 | 1380246975 | 93 | 83_评论 | 1 | 评论 | 未读 | | 6 | 93_1379990163_thumb.jpg | 冯参孙 | 丰田和日产汽车召回| 2 | 1380247149 | 93 | 225_评论 | 3 | 评论 | 阅读 | | 7 | 默认.gif | 凯丝阿吉拉尔 | 克莱斯勒文件出售股票| 2 | 1380253584 | 7 | 83_评论 | 1 | 评论 | 阅读 | | 8 | 默认.gif | 凯丝阿吉拉尔 | 克莱斯勒文件出售股票| 93 | 1380253870 | 7 | 83_评论 | 2 | 评论 | 未读 | +-----------------+-------------+------ --------------+------------------------------------------------ ---+------------------------+-------+--- ----------------+--------------------+------------ ----------+---------+--------+
我的查询
这就是我查询和分组表的方式:
SELECT *, COUNT(notification_topic) AS topic_count
FROM tbl_notification
WHERE notification_user_id = '{$_SESSION['id']}'
GROUP BY notification_topic
ORDER BY notification_date DESC
LIMIT 8
这是查询的结果:
+-----------------+-------------+------ --------------+------------------------------------------------ ---+------------------------+-------+--- ----------------+--------------------+------------ ----------+---------+--------+--------------+ | 通知ID | 通知图片 | 通知名称 | 通知标题 | notification_user_id | 通知日期 | 通知_来自 | 通知主题 | 通知评论 | 类型 | 状态 | 主题计数 | +-----------------+-------------+------ --------------+------------------------------------------------ ---+------------------------+-------+--- ----------------+--------------------+------------ ----------+---------+--------+--------------+ | 6 | 93_1379990163_thumb.jpg | 冯参孙 | 丰田和日产汽车召回| 2 | 1380247149 | 93 | 225_评论 | 3 | 评论 | 阅读 | 1 | | 2 | 32_1380182434_thumb.jpg | 希娜萨拉查 | 克莱斯勒文件出售股票| 2 | 1380188342 | 32 | 83_评论 | 1 | 评论 | 阅读 | 3 | | 1 | 32_1380182434_thumb.jpg | 希娜萨拉查 | 克莱斯勒文件出售股票| 2 | 1380188338 | 32 | 83_upvote | 1 | 点赞 | 阅读 | 2 | +-----------------+-------------+------ --------------+------------------------------------------------ ---+------------------------+-------+--- ----------------+--------------------+------------ ----------+---------+--------+--------------+
在sqlfiddle上查看。
我需要的
我需要得到计数,以便我可以在 facebook 上提出通知,如下所示:
我的主要问题是我不能在之前通过ORDER
它,因为我需要通过它来隔离每个。我希望显示评论或喜欢每个主题的最新用户。我将如何做到这一点?notification_date
GROUP BY
notification_comment
notification_topic