mysql 第一次出现的记录_php mysql组获得最新记录,不是第一次记录

桌子:

(`post_id`, `forum_id`, `topic_id`, `post_time`)

(79, 8, 4, '2012-11-19 06:58:08');

(80, 3, 3, '2012-11-19 06:58:42'),

(81, 9, 9, '2012-11-19 06:59:04'),

(82, 11, 6, '2012-11-19 16:05:39'),

(83, 9, 9, '2012-11-19 16:07:46'),

(84, 9, 11, '2012-11-19 16:09:33'),

查询:

SELECT post_id, forum_id, topic_id FROM posts

GROUP BY topic_id

ORDER BY post_time DESC

LIMIT 5

结果:

[0] => [post_id] => 84 [forum_id] => 9 [topic_id] => 11

[1] => [post_id] => 82 [forum_id] => 11 [topic_id] => 6

[2] => [post_id] => 81 [forum_id] => 9 [topic_id] => 9

[3] => [post_id] => 80 [forum_id] => 3 [topic_id] => 3

[4] => [post_id] => 79 [forum_id] => 8 [topic_id] => 4

问题:

如何重写查询以使其返回post_id – > 83而不是post_id – > 81?

他们都有相同的论坛和主题标识,但post_id – > 81的日期大于post_id – > 83.

但是看来,Group By获得了“第一”的记录,而不是“最新的”记录.

我尝试将查询更改为

SELECT post_id, forum_id, topic_id, MAX(post_time)

但是这会返回post_id 81和83

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值