【发布时间】:2018-09-25 06:47:57
【问题描述】:
我在加入表格时遇到问题。我已经在谷歌搜索但无法解决这个问题。我想在连接表中获得最多 4 行。我把我的虚拟表结构放在这里。
here is table `users`
--------------------
| id | name |
--------------------
| 1 | John |
--------------------
| 2 | Mohn |
--------------------
here is table `user_transections`
------------------------------------------------
| id | user_id | amount | created_at |
------------------------------------------------
| 1 | 1 | 20 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
| 2 | 1 | 30 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
| 3 | 1 | 50 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
| 4 | 1 | 60 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
| 5 | 2 | 10 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
| 6 | 2 | 15 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
| 7 | 2 | 80 | xxxx-xx-xx xx:xx:xx |
------------------------------------------------
我只想为每个用户表匹配加入 3 行
SELECT user.name,user_transections.amount FROM users
INNER JOIN user_transections on user.id = user_transections.user_id
// 如何在此处添加限制以加入最多三行横断面表
【问题讨论】:
-
你将如何选择每个 id 的 3 条记录?按最大数量或随机或任何顺序?
-
@âńōŋŷXmoůŜ created_at 最新排名前三的订单
-
请参阅下面的答案以及在此 SO 帖子顶部找到的已回答帖子。如果您有困难,请通过 jbacoy3ATyahooDotCom 告诉我。
-
谢谢,@âńōŋŷXmoůŜ 会告诉你的
标签: mysql sql join greatest-n-per-group