从每种类型中选择X项

时间:2012-02-17 14:39:14

标签: php mysql sql apache limit

我有一个mysql数据库,在那里我有1个表。 该表包含“id”,“Name”,“Type”。

我想从每种类型获得10行。例如:

(在这个例子中我只想要1)

0 - test1 - a
1 - test2 - a
2 - test3 - b

这需要选择:

0 - test1 - a
2 - test3 - b

如何在1个SQL查询中执行此操作?或者这是不可能的?

1 个答案:

答案 0 :(得分:4)

尝试此查询 -

SELECT id, name, type
  FROM (
  SELECT t1.*, COUNT(*) cnt FROM table t1
    LEFT JOIN table t2
      ON t2.type = t1.type AND t2.id <= t1.id
    GROUP BY
      t1.type, t1.id
  ) t
WHERE cnt <= 10;