gpt4 book ai didi

mysql - 在 SQL 中计算百分比时出错

转载 作者:行者123 更新时间:2023-11-29 09:55:51 24 4
gpt4 key购买 nike

我正在尝试根据代码的 CASES 部分中提到的三种不同情况来计算订单百分比。当我运行代码时,每种情况的值将百分比值显示为“1”。我认为问题出在代码的最后一行,我该如何解决这个问题?

SELECT DATEDIFF_GRP,ROUND(COUNT(DISTINCT(ORDER_ID))*100/(SELECT COUNT(DISTINCT(A.ORDER_ID)) FROM A),2)||'%' AS PERCENTAGE_ORDERS  FROM A
GROUP BY DATEDIFF_GRP ;

最佳答案

MySQL 通常不使用 || 进行字符串连接,您必须启用一些非默认选项才能实现这一点。

发生的情况是 MySQL 将 || 解释为逻辑 OR 运算符。要完全避免此问题,请考虑使用 CONCAT 函数。

SELECT
DATEDIFF_GRP,
CONCAT(100 * ROUND(COUNT(DISTINCT(ORDER_ID)) /
(SELECT COUNT(DISTINCT(A.ORDER_ID)) FROM A), 2), '%') AS PERCENTAGE_ORDERS
FROM A;

您还可以通过启用 ANSI 模式来解决您的问题,但如下所述,很少有 MySQL 用户在此模式下使用数据库。

关于mysql - 在 SQL 中计算百分比时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879329/

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