2012-05-16 35 views
0

我有一個表是這樣的:選擇示例記錄從表

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 

我想返回一個記錄,其中包括在使每個不同的值一列(所有列)。結果示例:

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

訂單對我並不重要;它不需要是確定性的。這樣我可以輕鬆地爲不同用例選擇示例數據,而無需將整個表格內容發送給開發人員。

回答

2

在MySQL中,你可以逃脫:

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

與大多數其他SQL數據庫管理系統,你可能會做的事:

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想到的是一個有效的,確定性的選擇。