LeetCode(数据库)- 每天的最大交易

Posted 程序员牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(数据库)- 每天的最大交易相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:略。

解题思路:注意 DATE() 函数。

AC 代码

-- 解决方案(1)
SELECT
    transaction_id
FROM transactions
WHERE (DATE(day), amount) in (
    SELECT DATE(day), MAX(amount)
    FROM transactions GROUP BY DATE(day)
)
ORDER BY 1;

-- 解决方案(2)
-- 非 MAX 函数版
SELECT transaction_id
FROM (SELECT transaction_id, RANK() OVER(PARTITION BY DATE_FORMAT(day, '%Y-%m-%d') ORDER BY amount DESC) rk FROM Transactions) t
WHERE rk = 1
ORDER BY transaction_id

以上是关于LeetCode(数据库)- 每天的最大交易的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1833. 雪糕的最大数量 / NC62 平衡二叉树 / NC7:股票(一次交易)/ NC22 合并两个有序的数组

LeetCode:121.股票问题(简单)

[leetcode]123.买卖股票的最佳时机3

leetcode 714

LeetCode——714. 买卖股票的最佳时机含手续费.

[SCOI2010]股票交易