0

我有一个调查,大多数问题都是肯定或否定的答案。我做了一页,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 语句来捕获这个不同结果的答案计数。

4

2 回答 2

0

从您的 aspx 页面运行查询,例如

Select count(*) from [tablename] where Money='Yes';
Select count(*) from [tablename] where Money='No';

第一个应该返回不。的人相应地回答“是”,第二个回答“否”

于 2013-08-26T10:56:45.690 回答
0
SELECT Money,
       Count(*)
FROM   [table]
GROUP BY Money

GROUP BY 语句将根据您为其分组的字段的值将结果分组。在此示例中,对 Money 进行分组意味着 Yes 的所有实例将被组合在一起,No 的所有实例也将被组合在一起,然后分别计算。

还值得注意的是,如果您对大多数问题使用是/否答案,那么位字段是将数据存储在数据库中的最有效方式。

于 2013-08-26T11:04:31.147 回答