我有一个基于此类的表,其列名与该类中的所有字段匹配:
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);
}
但我怎样才能改变这一点,以便我可以获得所有行的平均值?
答案 0 :(得分:2)
您正在寻找AVG功能。您可以在此fiddle
中使用它但只需将您的查询修改为:
SELECT AVG(btnACount + btnBCount + btnCCount + btnDCount) FROM ClickHistory;
这将做的是对所有列进行求和,然后对每个总和取平均值。