MySQL группа по одному или нескольким из нескольких полей

Я ищу группу по следующим критериям:

так скажем, у меня есть, как я могу сгруппировать их всех
product1, brand1, NULL, NULL, 12, нуль, 1234

product2,brand1,null,null,12,null,null

product3,brand2,null,null,null,1234

product1,brand1,null,null,null,null,null(product_name AND brand_name) upc or isbn or mpn or ean or model_number

Можно ли создать один оператор выбора для возврата этих сгруппированных значений?

Спасибо заранее

-1

Решение

Короткий ответ — нет.» Как MySQL узнает, по какой группе вы хотите группироваться в конкретной ситуации? Это не будет. Вам необходимо отправить MySQL разные запросы SQL для каждой ситуации.

Если в вашем пользовательском интерфейсе пользователь решил сгруппировать по одной вещи, отправьте MySQL запрос на группировку по этому. Если они решили группировать по чему-то другому, отправьте MySQL запрос на группировку по этому. Вы должны выбрать в PHP, прежде чем сказать MySQL, что делать. Вы не можете ожидать, что MySQL прочитает ваши мысли и узнает, что «в этом случае он хочет группировать по X».

Однако вы можете группировать по всем этим полям, отдавая им приоритет. То есть сначала сгруппируйте по этому, затем по этому и т. д.

SELECT * from products
group by
product_name, brand_name,
upc, isbn, mpn, ean, model_number

Но это не собирается группировать по одному или другому. Он будет группироваться по всем из них, отдавая приоритет первым из упомянутых.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]