繁体   English   中英

MySQL查询仅返回值的有效组合

[英]MySql query to return only valid combinations of values

谁能帮我编写一个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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM