谁能帮我写一个mysql查询,该查询将查看m_sku列中的表,并查看m_sku是否有单个值的多个记录:例如ABC有3条记录(图A)。如果m_sku有多个记录检查实例,以查看m_sku和 sku 的组合是否在其中任何一个上不同,则返回该值。例如,所有这三条记录都有不同的m_sku/SKU组合,如图B所示。
这是我的主表...图A.
id | sku | m_sku
---------------------------------------------
1 | 123 | ABC
2 | 123 | ABC
3 | 345 | ABC
4 | 456 | DEF
5 | 567 | EFG
6 | 678 | HIJ
7 | 567 | HIJ
8 | 890 | KLM
这是我们正在寻找的...图B.
1 | 123 | ABC
2 | 123 | ABC
3 | 345 | ABC
6 | 678 | HIJ
7 | 567 | HIJ
这里只是我想返回的...
id | m_sku
---------------------------------------------
1 | ABC
2 | HIJ
感谢您提供的任何帮助。
SELECT m_sku FROM table GROUP BY m_sku HAVING COUNT(DISTINCT sku) > 1;
这将确保查询不会返回具有相同 sku/m_sku 对的两行或更多行。
不测试,但试试这个:
select distinct m_sku from your_table group by m_sku having count(sku) > 1