我有一项调查,大多数问题都是肯定或没有答案。我在asp.net
中创建了一个页面,所有问题都是单选按钮,答案与.net
中的文本相同。
的.aspx:
asp:RadioButton ID="Money1" runat="server" GroupName="Money" Text="Yes"
asp:RadioButton ID="Money2" runat="server" GroupName="Money" Text="No"
.aspx.cs:
if (Money1.Checked)
{ cmd.Parameters.Add(new SqlParameter("@Money", Money1.Text)); }
else if (Money2.Checked)
{ cmd.Parameters.Add(new SqlParameter("@Money", Money2.Text)); }
SQL字段:
Money nvarchar(50) Checked
但是我必须做一个报告,我试图让SQL查看计算是和否问题的结果,具体来说,有多少人回答是和否? 如您所见,两个结果都存储在一个单元格中。
那么,我应该使用什么正确的SQL语句来捕获这个不同结果的答案计数。
答案 0 :(得分:0)
从您的aspx页面运行查询,例如
Select count(*) from [tablename] where Money='Yes';
Select count(*) from [tablename] where Money='No';
第一个应该归还你。人们回答是,其次是否。
答案 1 :(得分:0)
SELECT Money,
Count(*)
FROM [table]
GROUP BY Money
GROUP BY语句将根据您为其分组的字段值将结果分组。 在此示例中,Money上的分组意味着所有Yes的实例将组合在一起,所有No的实例也将组合在一起,然后单独计算。
值得注意的是,如果您对大多数问题使用“是/否”答案,那么位字段是将数据存储在数据库中的最有效方式。