MySQL:如何筛选对应Remarks值全部相同的Unique Value记录
嘿,我来帮你搞定这个筛选需求!要找出那些所有Remarks值完全一致的Unique Value,核心思路都是:判断每个Unique Value分组下的Remarks是否只有唯一值,这里有几种实用的方法,适配不同的工具场景:
方法1:使用SQL查询
如果你的数据存在数据库里,假设表名为your_table,可以用分组加聚合函数快速筛选:
SELECT "Unique Value" FROM your_table GROUP BY "Unique Value" HAVING COUNT(DISTINCT Remarks) = 1;
简单解释下:GROUP BY把相同的Unique Value归为一组,COUNT(DISTINCT Remarks)统计每组里不同的Remarks数量,等于1就说明该组所有Remarks完全相同,这样就能精准筛选出符合条件的Unique Value。
方法2:用Python Pandas处理
如果你的数据是在Python的Pandas DataFrame中,可以这样操作:
import pandas as pd # 先把数据读入DataFrame(这里用示例数据,你可以替换成自己的读取逻辑) df = pd.DataFrame({ "Unique Value": ["URTA-144", "URTA-144", "URTA-144", "URTA-145", "URTA-145", "URTA-145"], "Remarks": ["ACC", "ADD", "ADT", "ALL", "ALL", "ALL"] }) # 分组后过滤出Remarks唯一的组,再提取Unique Value filtered_unique_values = df.groupby("Unique Value").filter(lambda x: x["Remarks"].nunique() == 1)["Unique Value"].unique() # 转成你需要的表格格式 result_df = pd.DataFrame(filtered_unique_values, columns=["Unique Value"]) print(result_df)
运行后会输出符合条件的结果:
Unique Value 0 URTA-145
方法3:用Excel手动实现
如果习惯用Excel处理数据,步骤如下:
- 复制
Unique Value列到新列,通过数据>删除重复值得到所有不重复的Unique Value列表。 - 在旁边插入辅助列,输入公式计算每个Unique Value对应的不同Remarks数量(替换公式里的单元格范围为你的实际数据):
=SUMPRODUCT(1/COUNTIFS($A$2:$A$7,A2,$B$2:$B$7,$B$2:$B$7)) - 筛选辅助列值为1的行,剩下的就是符合条件的Unique Value。
内容的提问来源于stack exchange,提问作者Jupiter
相关产品推荐
相关产品推荐

