gpt4 book ai didi

mysql - 每组选择四个项目?

转载 作者:行者123 更新时间:2023-11-29 12:34:01 24 4
gpt4 key购买 nike

我有两个表,第一个名为card:

| card_id | card_name |

以及表提款:

| withdrawal_id | card_id | transaction_date |

我想获取每个card_id的最后四个transaction_dates。

我尝试了这段代码,但它不会给出最后 4 个日期:

SELECT a.card_id, b.transaction_date
FROM card AS a
JOIN withdrawal AS b ON a.card_id = b.card_id
GROUP BY a.card_id, b.transaction_date
ORDER BY a.card_id, b.transaction_date

我需要改变什么?

最佳答案

您似乎想要获取每组的前 N ​​行,这可以使用如下方法完成:

SELECT a.card_id, b.transaction_date
FROM card a
JOIN withdrawal b ON a.card_id = b.card_id
WHERE(
SELECT COUNT(*)
FROM card c
JOIN withdrawal w ON w.card_id = c.card_id
WHERE c.card_id = a.card_id AND w.transaction_date <= b.transaction_date
) <= 4
ORDER BY a.card_id, b.transaction_date

查看此question有关获取每组行的更多信息。

关于mysql - 每组选择四个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com