2012-04-25 37 views
0

設置,我有以下表如何使用GROUP BY來檢索優先於alphabeticization

SELECT * FROM cars; 

id  value 
1  convertible 
2  van 
2  wagon 
3  scooter 
3  segway 

當我使用GROUP BY聲明

SELECT * FROM cars 
GROUP BY id; 

我得到以下結果集

結果
1 convertible 
2 van 
3 scooter 

如何更改上述語句以選擇按字母順序排列的cars.value AST?例如

1 convertible 
2 wagon 
3 segway 

回答

2

SELECT分鐘(值)FROM汽車 GROUP BY ID前的表;

+0

呃。完全正確。我顯然是半睡半醒。 +1 – eggyal 2012-04-25 09:49:19

+0

如果第二列的值是使用CASE語法創建的,我將如何從中選擇「MAX(new_value)」?比如'SELECT id,CASE WHEN value = something THEN ELSE'something'END as new_value FROM cars'? – user784637 2012-04-25 10:14:58

1

嘗試:

SELECT * from (
    SELECT * from cars order by value desc 
) as tmp 
group by id 

排序分組

Working example here

+0

ManseUK,其他答案會優先於您的答案,因爲這是一個嵌套查詢,它可能是資源效率低下?在我的實際表格中,我選擇了8個字段。 – user784637 2012-04-25 10:15:54