【发布时间】:2022-01-18 05:21:27
【问题描述】:
我在 mysql select player_id, obj_category from table order by player_id; 中使用以下查询提取了一个临时表
输出如图,每个id关联多个对象类别
电流输出
| player_id | obj_category | created_time |
|---|---|---|
| 19855. | Electronics | 2021-09-21 18:02:17 |
| 19855. | House. | 2021-09-21 18:03:20 |
| 19855. | Car. | 2021-09-21 18:03:54 |
| 19855. | Toys. | 2021-09-21 18:04:17 |
| 19855 | Sweets. | 2021-09-21 18:05:13 |
| 19907 | Business | 2021-09-21 15:02:17 |
| 19907 | Books. | 2021-09-21 15:02:40 |
| 19907 | House. | 2021-09-21 15:04:14 |
| 19907 | Books | 2021-09-21 15:05:34 |
| 19908 | Toys | 2021-09-21 14:04:17 |
| 19908 | Mobile | 2021-09-21 14:07:19 |
| 19908 | Sports | 2021-09-21 14:08:43 |
| 19908 | Electronics. | 2021-09-21 14:02:17 |
在这个示例中,我有 3 个 id,(19855,19907,19908)。我想创建一个查询,我将只检索与每个 id 关联的前 2 个 obj_category。它们将根据每个 id 每个对象的创建时间进行排序
预期输出:
| player_id | obj_category |
|---|---|
| 19855. | Electronics |
| 19855. | House. |
| 19907 | Business |
| 19907 | Books |
| 19908 | Toys |
| 19908 | Mobile |
我尝试了多个代码,例如
,但是我无法达到该输出,也找不到任何指导来帮助我。
提前谢谢你
【问题讨论】:
-
定义“第一”。先插入?首先是按顺序订购时,首先是基于某个日期?
-
一个表在设计上是未排序的,所以没有另一个 cloumn 来确定哪个是没有第一个的顺序
-
尝试自己编写一些东西,如果不起作用,请具体向我们展示您所做的事情,以便我们为您提供帮助。您启动它,然后我们提供帮助。我们不是为你写的。向我们展示您尝试过的实际代码,然后描述发生的事情和不正确的事情,然后我们可以从那里帮助您。如果您先自己尝试一下,您可能会非常接近答案。
-
@AndyLester 谢谢安迪。这是我第一次在 Stackoverflow 上发帖,我对 sql 也有点陌生,我还在学习。下次我会这样做
-
@IvoP 对。我在临时表查询中添加了一个列,用于标识类别的顺序。感谢您指出这一点