我有一个包含id和Category列的表。我想从数据库中仅获取DISTINCT类别,但它无法按预期执行。它将输出作为表中的所有类别。
我有这段代码:
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"> <span class="glyphicon glyphicon-pencil"></span></a>
</p>
}
对于每个循环,我想执行两个任务:
1:从表
获取DISTINCT类别2:获取id列并将与该类别相关的每个id传递给id =@row.id
如果我从Query中删除id,例如:
var selectUniqueCategory="SELECT DISTINCT(Category) FROM images";
var SelectedUniqueCat=db.Query(selectUniqueCategory,category);
从表中获取DISTINCT类别可以正常工作,但我想在表中将类别作为DISTINCT和id作为主要类型。
答案 0 :(得分:-1)
你应该按照catergory进行分组并取最大值:
SELECT Category,max(id) as idmax , min(id) as idmin FROM images GROUP BY Category
答案 1 :(得分:-2)
您可以在“类别”列上使用GROUP BY并省略DISTINCT,这只会显示找到的第一个类别的ID。
SELECT Category,id FROM images GROUP BY Category