2017-01-03 3 views
0

Допустим, у меня есть следующие таблицы записей:MySQL группы на основе другого столбца

Id | machine | manual | 
------------------------------------- 
    1 | 1  | false | 
    2 | 2  | false | 
    3 | 3  | false | 
    4 | 4  | false | 
    5 | 1  | true | 

Я хочу, чтобы получить отдельную таблицу, основанную на колонке машины, но когда дело доходит до «выбрал» между инструкции: ложь или истинно, что истина превалирует над ложью.

Id | machine | manual | 
------------------------------------- 
    5 | 1  | true | 
    2 | 2  | false | 
    3 | 3  | false | 
    4 | 4  | false | 

Как это сделать?

ответ

1

mysql boolean column - это тип tinyint, который вы можете сделать.

SELECT max(id), machine, max(manual) FROM machines group by machine; 

example output source

+0

да простой и элегантный! –

+0

если это работает для вас, пожалуйста, проверьте как хороший ответ. –

+0

@ Danubio Несмотря на ваше «принятие», я очень сомневаюсь, что это действительно то, что вы хотите. – Strawberry

2
SELECT x.* 
    FROM my_table x 
    JOIN 
    (SELECT machine,MAX(manual) manual FROM my_table GROUP BY machine) y 
    ON y.machine = x.machine 
    AND y.manual = x.manual; 
Смежные вопросы