【问题标题】:SQL AVG (average) returns lots of digitsSQL AVG(平均)返回大量数字
【发布时间】:2013-07-26 00:47:51
【问题描述】:

当我做这样的事情时:

SELECT AVG(Price) FROM Product WHERE ProductName = 'Shoe';

SQL 返回如下内容:6,5934348324242

一个有很多位数的平均数字。

是否可以在查询中执行某些操作,使查询返回 2/3 位(例如:6,59)而不是 10 位以上的数字?

我正在使用MySql

【问题讨论】:

    标签: mysql sql database average


    【解决方案1】:

    您可以将其转换为小数:

    SELECT cast(AVG(Price) as decimal(6, 2))
    FROM Product
    WHERE ProductName = 'Shoe';
    

    【讨论】:

    • 哇,是否可以投射 SQL 查询...大声笑.. 他们在学校没有告诉我们:s.. 要去测试一下!
    • 这行得通!有人能解释一下为什么你使用(6,2)吗? 6 不是指总位数吗,而 2;逗号后面的数字?
    • @xVizzi 。 . .是的,这就是那些意思。我选择它们作为似乎适合您的数据的任意值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    相关资源
    最近更新 更多