我想检索数据库中字段中最常用的10条记录。我使用了这个查询,但它没有用!
select Top 10 tag from articles order by count(tag) desc ;
这是我得到的错误:
列'article.tags'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
答案 0 :(得分:3)
试试这个:
SELECT TOP 10 tag, COUNT(tag) tagCount
FROM articles
GROUP BY tag
ORDER BY tagCount DESC
答案 1 :(得分:2)
Select TOP 10 tag From
(
Select tag,count(*) as total
From articles
Group by tag
) z
order by total Desc
答案 2 :(得分:0)
您无法通过简单的select top语句进行识别。我建议你再涉及一个表来跟踪大多数选定记录的id,如下所示:
ArticleId Counter LastUsed
--------------------------
1 5 11/12/2013
3 11 10/12/2013 // and so on
使用此表连接主表并根据其计数器选择最常用的前10个ID。
Select * From MainTable Where ArticleId in (
Select Top(10) ArticleId
From Table
Order By Counter Desc)