【发布时间】:2013-04-08 13:32:54
【问题描述】:
user_id payment_end_time
1674 2008-01-10 07:51:21
1675 2008-01-05 17:48:51
1675 2009-01-20 16:56:04
1675 2010-01-27 13:16:34
1676 2008-01-05 20:21:35
1676 2009-01-07 18:46:41
1676 2009-12-08 13:59:08
1677 2008-01-05 20:30:16
1677 2009-01-03 19:11:03
1677 2009-10-07 06:24:58
1678 2008-01-26 06:23:46
1678 2009-01-18 12:19:58
1679 2008-01-06 12:11:29
1679 2009-01-23 08:44:51
1680 2008-03-28 18:58:20
1680 2009-12-31 16:39:46
1681 2008-01-07 07:24:03
1682 2008-01-07 11:37:43
1682 2009-01-16 20:26:16
1682 2010-02-02 09:38:34
1.user_id 不是唯一的,因为一个用户可以支付多次。给定用户的每次付款都会插入一个新行。
2.我必须在数据库 user_id(不是主键)和 payment_end_time 字段。
3.我希望每个 user_id 的输出都带有 payment_end_time(每个用户的最新日期时间,即按 DESC 订购)。
4.我希望每个 user_id 只使用一次,即 user_id (1675 2010-01-27 13:16:34) (1676 2009-12-08 13:59:08) 对于 1677 等类似这样..
我试过了
SELECT user_id, MAX(payment_end_time)
来自 tbl_payment_info
按用户 ID 分组
ORDER BY payment_end_time DESC
限制 1 个
我已经尝试过了,但它只显示单行。我希望每个 USER_id 只显示一次,并带有最新的日期时间
【问题讨论】:
-
你应该向我们展示你的努力——“你尝试了什么?”。
-
提示:阅读 SQL
GROUP BY和MAX