0

可能重复:
mysql:在 GROUP BY 中使用 LIMIT 来获得每组 N 个结果?

我有一个包含数千个域和数据的数据库。我只想列出每个域的 100 行。我不能使用 LIMIT 100 因为它只限制 100 条记录,但我希望 dom1 列出 100 dom2 列出 100 dom3 列出 100

一站式查询。这就是我到目前为止所拥有的。

    SELECT domain COUNT(Key) AS DomCount
    FROM table_domain
    GROUP BY user,location
    ORDER BY domain,DomCount DESC

我可以使用 CASE 吗?

4

1 回答 1

0

尝试这个

在此处查看以下查询的 DEMO

SELECT key,domain FROM (
SELECT key,domain,
   @drank:=CASE 
               WHEN @domain_v <> domain THEN 1 
               ELSE @drank+1 END AS rn,
   @domain_v:= domain AS domain_set
FROM
  (SELECT @drank:= -1) nr,
  (SELECT @domain_v:= -1) n,
  (SELECT * FROM TableName ORDER BY domain) t
  ) x WHERE rn < 101
于 2012-12-14T17:01:40.717 回答