2016-12-15 3 views
-1

これはOSという名前のテーブルです。mysqlの行をLIMITとマージしてcoloseを指定します

id | os  | 
----------------- 
1 |windows XP | 
2 |mac  | 
3 |windows XP | 
4 |windows Xp | 
5 |linux  | 
6 |mac  | 
7 |Windows NT | 
8 |linux  | 
9 |Windows NT | 
10 |mac  | 
11 |linux  | 
12 |mac  | 
13 |windows XP | 
14 |linux  | 
15 |Windows NT | 
16 |mac  | 
17 |linux  | 

私は

誰もがmysqlのクエリをsuggentすることができ、各OSから2つのIDを取得したいですか?

期待出力

1 
3------------ windows xp 
2 
6------------mac 
5 
11----------linux 
7 
9----------windows NT 
+0

この出力の関係は何ですかを選択し、外側を削除しますか?あなたの望む出力のために、より具体的な関係を追加してください。 –

答えて

1
select * from 
(
    select min(id) as id, os from os_table group by os 
    union 
    select max(id), os from os_table group by os 
) tmp 
order by os 

あなたが特定の順序を必要としない場合は、

+0

私は各OSから2つのIDが必要です。 – jaleel

+0

そして私のクエリの結果はあなたが望むものではありません? –

+0

最小でも最大でもありません – jaleel

関連する問題