MySQL DISTINCT多列
您可以将DISTINCT子句与多个列一起使用.在这种情况下,MySQL使用所有列的组合来确定结果集中行的唯一性.
如果要解决问题,可以使用group_concat()函数,然后对所有联合查询按catnam进行分组:
SELECT name ,GROUP_CONCAT(id)
FROM your_table
GROUP BY name ;
因此您的查询可以是:
SELECT distinct(catnam) as catnam, GROUP_CONCAT(sub2id )
FROM tbl_first_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
UNION
SELECT distinct(catnam) as catnam, GROUP_CONCAT(sub2id )
FROM tbl_third_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
UNION
SELECT distinct(catnam) as catnam, GROUP_CONCAT(sub2id )
FROM tbl_fourth_page_products f INNER JOIN subcategory_level2 s
ON f.brand_id = s.sub2id
WHERE f.title_cat = 'men'
group by catnam