【发布时间】:2009-10-08 09:16:01
【问题描述】:
我有一个包含约 5000 万条记录的患者信息表。我需要每年检查一些样品,这些样品可能按任何顺序排列。以下是数据库“20090722”、“20080817”、...“19980301”中可用的示例日期。我还有一个名为“PID”的主键列。我的要求是每年通过查询获得 2 或 3 个样本。
我尝试使用子查询每年获取 2 个样本,但没有成功。
本论坛中的任何人都对这种要求有想法,如果有,请帮助我。
伙计们,我在 sql server 中尝试了以下查询,它找到了。但我需要 MYSQL 中的查询。请帮帮我。
select pid,studydate
FROM (SELECT ROW_NUMBER() OVER ( PARTITION BY studydate ORDER BY pid DESC ) AS
'RowNumber', pid,studydate
FROM patient
) pt
WHERE RowNumber <= 2
【问题讨论】:
-
听起来您在进行抽样查询。您是否关心每年返回哪些记录?它们需要是随机的、最大/最小/最好的,还是数据库首先遇到的任何东西?
-
为什么这是一个社区维基?