有没有办法使用SQLITE只用一个SQL来获得四列中的平均值?

时间:2017-10-13 06:16:26

标签: sql sqlite xamarin

我有一个基于此类的表,其列名与该类中的所有字段匹配:

public class ClickHistory
{
    [PrimaryKey, NotNull]
    public string Yymmdd { get; set; }
    public int DayOfYear { get; set; }
    public int Year { get; set; }
    public int Month { get; set; }
    public int Day { get; set; }
    public int BtnACount { get; set; }
    public int BtnBCount { get; set; }
    public int BtnCCount { get; set; }
    public int BtnDCount { get; set; }
}

我想要做的是获得表中所有行的所有Btn ..列的sam的平均值。

我已经得到了这样的一行:

return db2.ExecuteScalar<int>("SELECT (BTNACOUNT + BTNBCOUNT + BTNCCOUNT + BTNDCOUNT) FROM CLICKHISTORY WHERE YYMMDD = " + yymmdd);
        }

但我怎样才能改变这一点,以便我可以获得所有行的平均值?

1 个答案:

答案 0 :(得分:2)

您正在寻找AVG功能。您可以在此fiddle

中使用它

但只需将您的查询修改为:

SELECT AVG(btnACount + btnBCount + btnCCount + btnDCount) FROM ClickHistory;

这将做的是对所有列进行求和,然后对每个总和取平均值。