【发布时间】:2014-03-29 19:50:26
【问题描述】:
我有一个包含许多交易数据的表,我一直在尝试获取每个客户每天最早的记录,调整我在这个网站上看到的其他解决方案(例如this one),但他们对我没用。
表格transactions是
时间 ID 客户价格 数量 2013 年 1 月 2 日 09:33:20 AM 1 阿尔伯特 100.00 5,300 2013 年 1 月 2 日上午 10:34:20 2 阿尔伯特 100.90 4,800 2013 年 1 月 2 日上午 10:34:20 3 刘易斯 80.00 25,987 2013 年 1 月 2 日上午 11:35:23 4 本森 251.00 700 1/2/2013 14:36:20 AM 5 阿尔伯特 100.00 2,250 1/2/2013 15:31:12 AM 6 阿尔伯特 99.50 1,340 2013 年 1 月 3 日 09:33:20 AM 7 本森 250.00 900 2013 年 1 月 3 日上午 15:13:12 8 班森 250.00 800 1/3/2013 16:03:55 AM 9 刘易斯 80.00 18,890 1/4/2013 09:01:01 AM 10 阿尔伯特 101.00 1,190 1/4/2013 09:01:01 AM 11 阿尔伯特 100.99 98,890 1/4/2013 09:01:01 AM 12 刘易斯 80.98 6,890 2013 年 1 月 4 日上午 10:51:00 13 本森 279.18 190 2013 年 1 月 4 日上午 10:51:00 14 阿尔伯特 99.36 78,053 ...Id 是唯一的,并且也按定义按时间顺序排序。时间不是唯一的,这意味着可能有 2 笔交易恰好同时发生。
sql 查询需要提取每个客户每天进行的第一笔交易,以及价格和数量,例如:
日期 客户 价格 数量 1/2/2013 阿尔伯特 100.00 5,300 1/2/2013 本森 251.00 700 1/2/2013 刘易斯 80.00 25,987 1/3/2013 本森 250.00 900 1/3/2013 刘易斯 80.00 18,890 2013 年 1 月 4 日 阿尔伯特 101.00 1,190 1/4/2013 刘易斯 80.98 6,890 1/4/2013 本森 279.18 190谁能帮助我如何在 SQL 中做到这一点?
【问题讨论】:
-
你用的是什么数据库?
-
数据库在 MS Access 中,但我可能会在 MySQL 中进行查询
标签: sql date ms-access greatest-n-per-group