我正在为mysql参加地球黑客实践测试。我更精通tsql,所以我想知道我的代码中是否遗漏了什么
SELECT format(max(totalsale),4 ) as 'max(totalsale)' from Sales;执行和测试返回,指出这是正确的答案,但当我按下提交,我得到一个错误,它是错误的。我的MySql代码中有什么地方不对吗?

发布于 2021-01-15 01:33:18
FORMAT()函数将以字符串的形式返回结果。如果测试需要十进制响应,则需要使用ROUND(),并可能使用CAST()
SELECT ROUND(MAX(CAST(tmp.`totalsale` AS decimal(16,4))), 4) as `max(totalsales)`
FROM (SELECT 100.66 as `totalsale` UNION ALL
SELECT 250.00 as `totalsale` UNION ALL
SELECT 249.99 as `totalsale` UNION ALL
SELECT 175.43 as `totalsale`) tmp;返回:250.0000作为小数。
发布于 2021-01-16 23:17:56
正确的答案是
SELECT ROUND(MAX(CAST(totalsale AS decimal(16,4))), 4) as 'max(totalsales)'
FROM (
SELECT s.SALESPERSON, AVG(s.totalsale) as 'totalsale'
from Sales s
GROUP BY s.SALESPERSON
)
;我不得不再读一遍这个问题:计算平均销售额的最高值。
https://stackoverflow.com/questions/65728914
复制相似问题