获取按类型分组的特定日期的最近记录

时间:2011-04-06 11:10:05

标签: mysql date group-by records

对不起我不能更具体,但我不知道如何在标题中描述我的问题..我不知道如何搜索类似的问题。

所以这是交易。我有这张记录表:

sample database table

正如您所看到的,我有不同类型的不同月份输入的数据。我的目标是按类型分组最后输入的金额,这应该受到日期的限制。

例如:

  

如果我指定日期2011-03-01,查询应返回3条记录,金额为10,20和30,因为对于type = 1,最近插入的记录为'2011-03-01'是2011年-01-01,金额为10.对于类型= 2,“2011-03-01”的最近日期为2011-02-01,金额为20.而对于类型= 3,最接近“2011-03-01”的是'2011-03-01'所以它返回金额= 30。

那么如何形成MySQL查询?

1 个答案:

答案 0 :(得分:1)

现在我只能想到一个子选择版本:

SELECT type, amount
FROM table AS t
WHERE dat = (
    SELECT MAX(dat)
    FROM table
    WHERE type=t.type
        AND dat <= '2011-03-01'
)