我希望按以下标准分组:
所以我想我怎么能把它们全部分组呢 产品1,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
是否可以创建一个select语句来返回这些分组值?
非常感谢提前
答案 0 :(得分:3)
简短的回答是“不”。在特定情况下,MySQL如何知道您要分组哪一个?它不会。您需要为每种情况发送一个不同的SQL查询。
如果在用户界面中用户选择按一个组分组,请将MySQL查询发送给组。如果他们选择按其他方式进行分组,请将MySQL查询发送给组。在告诉MySQL要做什么之前,你必须选择PHP。你不能指望MySQL读懂你的想法并且知道“在这种情况下他想要按X分组。”
但是,您可以按所有这些字段进行分组,为其提供优先级。即首先是这一个,然后是那个,等等。喜欢:
SELECT * from products
group by
product_name, brand_name,
upc, isbn, mpn, ean, model_number
但这不是一组一组的。它将由所有人组成,优先考虑第一个提到的。