从表中选择示例记录

时间:2012-05-16 02:11:02

标签: mysql

我有一张这样的表:

id make model year
1 chevy camaro 1969
2 chevy camaro 1967
3 ford mustang 1967
4 chevy corvette 1984
5 pontiac gto 1971
6 pontiac grandam 1987

我想为make中的每个不同值返回一个包含一行(所有列)的记录集。结果示例:

1 chevy camaro 1969
3 ford mustang 1967
5 pontiac gto 1971

订单对我来说并不重要;它不需要是确定性的。这样我就可以轻松地为不同的用例选择示例数据,而无需将整个表内容发送给开发人员。

1 个答案:

答案 0 :(得分:2)

在MySQL中,你可以逃脱:

SELECT id, make, model, year
  FROM AnonymousTableAboutCars
 GROUP BY make, model;

对于大多数其他SQL DBMS,您可能会这样做:

SELECT id, make, model, year
  FROM AnonymousTableAboutCars AS a
  JOIN (SELECT MIN(id)
          FROM AnonymousTableAboutCars
         GROUP BY make, model
       ) AS m
    ON a.id = m.id;

汇总的选择取决于您; MAX是一种有效的,确定性的选择。

相关问题