2015-04-22 2 views
-1

Привет У меня есть следующие столбцыMySQL выбрать отличную колонку, основанную на группы по столбцу

| id | name | category| 
| 1 | sam | doctor | 
| 2 | tom | doctor | 
| 3 | pam | nurse | 
| 4 | gum | nurse | 
| 5 | tom | doctor | 
| 6 | lim | doctor | 

Я хочу выполнить запрос, чтобы выбрать различные имена, основанные на категории, где name столбец уникален, чтобы получить ниже

| id | name | category| 
| 1 | sam | doctor | 
| 2 | tom | doctor | 
| 3 | pam | nurse | 
| 4 | gum | nurse | 
| 6 | lim | nurse | 

Это озадачивает меня

+0

, который вы хотите выбрать? Вы заботитесь? –

ответ

3

Вы можете использовать min:

select min(id), name, category 
from yourtable 
group by name, category 

Если вы действительно хотите просто различные имена, то, так как вы используете MySQL, это будет работать, а также (но возвращать случайные идентификаторы и категории). Если вам нужны определенные идентификаторы/категории, вам необходимо определить их в совокупности (как в предыдущем решении):

select id, name, category 
from yourtable 
group by name