gpt4 book ai didi

c# - SQL 计数器和返回器,将结果加倍

转载 作者:可可西里 更新时间:2023-11-01 07:35:29 25 4
gpt4 key购买 nike

我正在尝试制作一个列表,在我的论坛上显示我的所有类别。显示类别名称、ID 以及计数,计算有多少线程附加到该类别。

它工作得很好,但是,它打印了两次结果。

这是SQL

SELECT categories.category_name, threads.thread_category_id, COUNT(*) 
AS 'threadCount' FROM threads
INNER JOIN categories ON categories.category_id = threads.thread_category_id
GROUP BY categories.category_name, threads.thread_category_id

这是结果 enter image description here

如您所见,它打印了两次相同的内容,这是不应该的。

编辑:这是 ASP。

<asp:Repeater ID="categories" runat="server">
<HeaderTemplate>
<table id="kategorier" cellspacing="0">
<tr>
<td class="head">Name</td>
<td class="head" style="width:70px">Number of Threads</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="item"><a href="Kategori.aspx?id=<%# Eval("thread_category_id") %>"><%# Eval("category_name") %> - ID: <%# Eval("thread_category_id")%></a></td>
<td class="item" style="text-align:right"><%# Eval("threadCount") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

最佳答案

如果您的 ASP 正确,基本上您有 2 个地方可以复制行:

1) SQL 错误(可能你必须使用 DISTINCT 运算符)

2)C#代码错误(可能你要检查你的数据源)

请检查您的 SQL。并与我们分享您的 C# 代码。

使用这个

SELECT distinct  category_name, thread_category_id, threadCount
FROM
( SELECT categories.category_name, threads.thread_category_id, COUNT(*)
AS 'threadCount' FROM threads
INNER JOIN categories ON categories.category_id = threads.thread_category_id
GROUP BY categories.category_name, threads.thread_category_id ) A

关于c# - SQL 计数器和返回器,将结果加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15247918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com