我说这个表有两列。两列都包含IP地址。我想要一个SELECT
查询,它可以获取第一列或第二列或两者中出现的所有IP地址的列表。只是该表中所有不同IP地址的列表。怎么做的?我原以为SELECT DISTINCT ip_src, ip_dst FROM table
会做到这一点。
答案 0 :(得分:3)
请注意,您的示例仅将distinct应用于ip_src。要获得一列,请尝试使用UNION:
SELECT ip_src FROM table
UNION
SELECT ip_dst FROM table
正如评论中所指出的那样,UNION不仅会删除列之间的重复项,而且还会删除列中出现的重复项,这意味着使用DISTINCT是不必要的。