2016-12-01 3 views
-2

У меня есть этот запрос.выберите один из одного столбца из нескольких столбцов в mysql

select Leaf_id,product_id_x,product_id_y,count from table; 

Что мне нужно, это выбрать все значения для отдельного Leaf_id.

Так я попытался

select Leaf_id,product_id_x,product_id_y,count from table group by Leaf_id; 

но получаю эту ошибку.

SELECT list is not in GROUP BY clause and contains nonaggregated column 
'table.product_id_x' which is not functionally dependent on columns in 
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by") 

я должен сделать группировку по всем столбцам ?

+0

Если вы заметили, 'sql_mode = only_full_group_by' включен. Чтобы получить разницу по одному столбцу, отключите это с помощью 'SET sql_mode = ''' – Viki888

+0

Добавьте пример данных таблицы и ожидаемый результат - также форматированный текст. – jarlh

+0

'just_full_group_by' настоятельно рекомендуется. – jarlh

ответ

1

Почему вы не можете использовать ключевое слово distinct

select distinct Leaf_id,product_id_x,product_id_y,`count` from `table`; 
+0

будет ли он выбирать различные значения из всех столбцов? – Shubham

+0

Все выбранные столбцы. – jarlh

+0

@SRingne, отличные от всех выбранных столбцов в комбинации – Rahul

0

Если вы хотите, чтобы выбрать все значения для каждого столбца, а затем использовать функции агрегации. Может быть, вы хотите group_concat():

select Leaf_id, group_concat(distinct product_id_x), 
     group_concat(distinct product_id_y), 
     group_concat(distinct count) 
from table 
group by leaf_id; 
0
select 
max(Leaf_id) as Leaf_ID 
,product_id_x 
,product_id_y 
,count 

from table 

group by product_id_x, product_id_y, count 

Это может помочь? Очевидно,

Min(Leaf_ID) as Leaf_ID 

будет работать хорошо.

Надеется, что это помогает

+0

Invalid GROUP BY. (Общее правило GROUP BY гласит: если указано предложение GROUP BY, каждая ссылка на столбец в списке SELECT должна либо идентифицировать столбец группировки, либо быть аргументом функции set!) – jarlh

+0

Я хотел объединить все остальное ... К сожалению! –

Смежные вопросы