我们将购买至少10种产品的用户定义为超级用户。如何编写一个查询,返回每个用户在哪一天成为超级用户。也就是说,对于每个用户,他们在哪一天购买了第10件商品。
下表为交易记录。也就是说,每一行都意味着相应的用户在该日期购买了一些东西。
userid表示用户日期的id表示某个特定用户在2017-09-01 10:23:03购买了某件东西
| Userid | Date |
-----------------------------------
| 123445678 | 2017-09-01 10:23:03 |
| 876543215 | 2016-08-31 08:12:23 |
| 324567893 | 2012-03-02 07:23:12 |
| 234545566 | 2011-03-04 05:22:13 |
| 783465863 | 2009-03-05 12:23:23 |
2条答案
按热度按时间oyxsuwqo1#
这个答案可以避免字符串操作
kuuvgm7e2#
您可以通过将每个用户的数据分组,然后获取所有用户的第10个事务的日期来实现这一点。
您可以看到这个sqlfiddle演示如何在mysql中获得每个组的第n条记录。
有用的来源:
mysql group\u concat函数介绍
子串索引
注意:
10th_Transaction_date
字符串不是日期。