Задавайте вопросы, мы ответим
Вы не зашли.
Есть табличка:
Id l max l min l color l
1 l 10 l nulll l null l
1 l null l 0 l null l
2 l null l null l red l
2 l 15 l null l null l
2 l null l 1 l null l
Как из нее сделать?:
Id l max l min l color l
1 l 10 l 0 l null l
2 l 15 l 1 l red l
Помогите, пожалуйста, советом.... заранее спасибо за помощь...
Неактивен
Ну с Вашим набором данных такой запрос поможет:
SELECT `Id`,sum(`max`),sum(`min`),`color` FROM `t_7144` GROUP BY `Id`;
mysql> create table t_7144(Id integer, `max` integer,`min` integer, `color` varchar(255)); Query OK, 0 rows affected (0.18 sec) mysql> insert into t_7144(Id, `max`,`min`, `color`) values(1,10,null,null),(1,null,0,null),(2,null,null,'red'),(2,15,null,null),(2,null,1,null); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from t_7144; +------+------+------+-------+ | Id | max | min | color | +------+------+------+-------+ | 1 | 10 | NULL | NULL | | 1 | NULL | 0 | NULL | | 2 | NULL | NULL | red | | 2 | 15 | NULL | NULL | | 2 | NULL | 1 | NULL | +------+------+------+-------+ 5 rows in set (0.00 sec) mysql> select Id,sum(`max`),sum(`min`),`color` from t_7144 group by id; +------+------------+------------+-------+ | Id | sum(`max`) | sum(`min`) | color | +------+------------+------------+-------+ | 1 | 10 | 0 | NULL | | 2 | 15 | 1 | red | +------+------------+------------+-------+ 2 rows in set (0.00 sec)
Неактивен
А если скажем три столбца типа varchar. Что в таком случае предпринять. Просто выдается ошибка что столбец не допустим в списке выбора поскольку не сод-ся ни в агрегатной функции ни в предложении group by.
Неактивен
Вы приведите структуру таблицы (show create table `ИМЯ_ТАБЛИЦЫ`) и набор данных, который вызывает вопросы. Вариант группировки, который я предложил действительно отработает не везде.
Неактивен