gpt4 book ai didi

MYSQL 如果没有结果我需要一些默认值

转载 作者:行者123 更新时间:2023-11-29 15:38:00 25 4
gpt4 key购买 nike

我有一个表(currency_table),其中包含 3 列“日期”、“货币”、“汇率”。

我必须使用下面的语法进行查询

select date, rate from currency_table where date in ('20010101','20190921','20190920');

表(currency_table)中没有20010101的数据

所以我的结果是这样的2019-09-20 12002019-09-21 1200.1

但如果没有值,我必须返回“null”

我该怎么做???

还有一个问题

结果始终按日期排序显示。

我可以收到我写的结果订单吗?

最佳答案

您需要在此处使用称为日历表的东西,它可以跟踪您希望在报告中显示的所有日期。一个例子是最好的解释方式:

SELECT
d.date,
COALESCE(t.rate, 0.0) AS rate
FROM
(
SELECT '2001-01-01' AS date UNION ALL
SELECT '2019-09-21' UNION ALL
SELECT '2019-09-20'
) d
LEFT JOIN currency_table t
ON d.date = t.date AND
WHERE
d.date IN ('2001-01-01', '2019-09-21', '2019-09-20')
ORDER BY
d.date;

实际上,您可能会将我标记为 d 的子查询替换为包含您可能想要报告汇率的所有日期的真实表。请注意,因为我在上面使用了左联接,所以日历表中的每个日期都保证出现在结果集中。但是,对于不匹配的日期,会出现 0.0 的比率(该比率在现实世界中可能永远不会出现)。

关于MYSQL 如果没有结果我需要一些默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022604/

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