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. Payment_end_time を使用してすべての user_id の出力が必要です (すべてのユーザーの最新の日時、つまり Order By 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) FROM tbl_payment_info
GROUP BY user_id ORDER BY payment_end_time DESC LIMIT 1
私はこれを試しましたが、それは私に単一の行を表示するだけです。