【发布时间】:2012-01-07 23:00:16
【问题描述】:
我有一张表,其数据如下所示:
INSERT INTO `cm_case_notes` (`id`, `case_id`, `date`, `time`, `description`, `username`, `supervisor`, `datestamp`) VALUES
(45977, '1175', '2010-11-19 16:27:15', 600, 'Motion hearing...Denied.', 'bjones', 'jharvey,', '2010-11-19 21:27:15'),
(46860, '1175', '2010-12-11 16:11:19', 300, 'Semester Break Report', 'bjones', 'jharvey,', '2010-12-11 21:11:19'),
(48034, '1175', '2011-05-04 17:30:03', 300, 'test', 'bjones', 'jharvey,', '2011-05-04 22:30:03'),
(14201, '1175', '2009-02-06 00:00:00', 3600, 'In court to talk to prosecutor, re: the file', 'csmith', 'sandrews', '2009-02-07 14:33:34'),
(14484, '1175', '2009-02-13 00:00:00', 6300, 'Read transcript, note taking', 'csmith', 'sandrews', '2009-02-16 17:22:36');
我正在尝试为每个用户选择每个案例的最新案例注释(date)。我想出的最好的是:
SELECT * , MAX( `date` ) FROM cm_case_notes WHERE case_id = '1175' GROUP BY username
然而,这并没有给出最近的条目,而是每个用户的第一个条目。我在这里看到了几个类似的帖子,但我似乎无法理解它们。有人会同情sql缺陷并提供帮助吗?
【问题讨论】:
-
按用户名分组将为您提供每个用户的最新信息。在这种情况下,每个响应 case_id = 1175 的用户。您显然会有很多案例。您真正想要的是……对于每个案例 ID,您想要最新的案例评论吗?然后也许按日期对它们进行分组?或...在给定日期(或范围)内有活动的所有案例,与该范围相关的案例的最新案例说明?你的问题不够明确。
-
试试右边的链接(在相关下)
标签: mysql greatest-n-per-group