Asp.net 为什么它不从数据库中获取不同的类别

Asp.net 为什么它不从数据库中获取不同的类别,asp.net,webmatrix,Asp.net,Webmatrix,我有一个带有id和Category列的表。我只想从数据库中获取不同的类别,但它无法按预期执行。它将输出为表中的所有类别 我有一段代码: var selectUniqueCategory="SELECT DISTINCT(Category),id FROM images"; var SelectedUniqueCat=db.Query(selectUniqueCategory,category,id); @foreach(var row in SelectedUniqueCat) {

我有一个带有id和Category列的表。我只想从数据库中获取不同的类别,但它无法按预期执行。它将输出为表中的所有类别

我有一段代码:

var selectUniqueCategory="SELECT DISTINCT(Category),id FROM images";
var SelectedUniqueCat=db.Query(selectUniqueCategory,category,id);




@foreach(var row in SelectedUniqueCat)
{
                <p><a href="#" data-target="#row_thumbnails">@row.Category </a>
                   <a href="/EditCategory?id=@row.id">&nbsp;<span class="glyphicon glyphicon-pencil"></span></a>
                 </p>
}

可以从表中获取不同的类别,但我希望在表中同时获取不同的类别和主类别的id。

您可以在“类别”列中使用GROUP BY,而不使用不同的类别,这将只显示第一个找到的类别的id

SELECT Category,id FROM images GROUP BY Category

您应按类别分组,并取最大id的最大值:

SELECT Category,max(id) as idmax , min(id) as idmin FROM images GROUP BY Category


}这不起作用,id应该在an min/max函数中。如果我同意你的想法,我会遇到这个错误:在聚合和分组表达式中,SELECT子句只能包含聚合和分组表达式。[Select子句=,id]您使用MS SQL哪个数据库?那么现在查询返回最高id和最低id?是他要求的吗?如果我像你说的那样去做,我会面临这个错误:System.InvalidOperationException:无效的列名id.at

如果你使用这个查询,您有以下字段:idmax和idmin。不,我不想要任何带有min或max的内容。我只想要在该查询中带有id coulmn的不同类别。使用一些示例输入和您想要的输出。是否要一次选择与该类别相关的所有id?发布表的一些示例输入\输出数据。是,我想一次获取所有数据
SELECT Category,max(id) as idmax , min(id) as idmin FROM images GROUP BY Category
 Hi everyone,
    I have found solution to my problem now i felt it should be share here also.

    as earlier to my question i said i want category and associated id with that simultaneously. following code did work for me.

var SelectQuery="SELECT * FROM images";
                      var selectedData=db.Query(SelectQuery,category,imagePath);

                      var selectUniqueCategory="SELECT DISTINCT Category FROM images ORDER BY Category";
                      var SelectedUniqueCat=db.Query(selectUniqueCategory,category);