如何使用SQL COUNT(*)读取条目数
您好, 我不知道读表中的条目数。 (我想用asp:Repeader)
sql = "SELECT COUNT(*) FROM Table";
<asp:Repeater id="Repeater01" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "????????") %>
</ItemTemplate>
</asp:Repeater>
什么是????声明? 感谢。
编辑:这是我的SQL语句:
select t.tip_adi, count(oda.oda_tip_id) from oteldb.tip t
left join (select oda_tip_id from oteldb.oda o
where not exists (
select null from oteldb.rezervasyon r
where r.rezervasyon_oda_id = o.oda_id
and r.rezervasyon_gt <= '2012-01-22'
and '2012-01-03' <= r.rezervasyon_c
) ) oda on oda.oda_tip_id = t.tip_id
group by t.tip_adi
答案 0 :(得分:2)
您需要为COUNT(*)设置别名,如下所示:
sql = "SELECT COUNT(*) AS MyCount FROM Table";
现在您已经定义了一个名称,您可以开始使用MyCount
。
现在你可以这样做:
<%# DataBinder.Eval(Container.DataItem, "MyCount") %>
根据您的评论,您的查询将变为:
select t.tip_adi, count(oda.oda_tip_id) AS MyCount from oteldb.tip t left join (select oda_tip_id from oteldb.oda o where not exists (select null from oteldb.rezervasyon r where r.rezervasyon_oda_id = o.oda_id and r.rezervasyon_gt <= '2012-01-22' and '2012-01-03' <= r.rezervasyon_ct) ) oda on oda.oda_tip_id = t.tip_id group by t.tip_adi
注意“MyCount”。现在,您可以使用我上面发布的内容来绑定该值。
答案 1 :(得分:1)
您可以使用As别名进行SQL查询。试试这个,
sql = "SELECT COUNT(*) AS someCount FROM Table";
<asp:Repeater id="Repeater01" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "someCount") %>
</ItemTemplate>
</asp:Repeater>
答案 2 :(得分:1)
不确定你的sql和asp.net转发器是如何组合在一起的,但是如果你真的想要执行SELECT COUNT(*)
那么你通常会使用ADO.NET ExecuteScalar()
来回读结果将count(*)作为int,然后只显示它。
或者你是说你用转发器显示了很多实际结果,而你只想总计一个数字?
问题不是很清楚......