如何从两列筛选非指定值并合并为自定义命名的单列?
解决方法:合并两列非指定值为单列
当然可以实现这个需求啦!用SQL的UNION关键字就能轻松搞定,刚好匹配你想要的效果——把两列中不等于特定值的数据合并成单一列,还能自动去重(和你给出的示例结果一致)。
假设你的表名叫your_table,要排除的特定值是1,对应的SQL语句如下:
SELECT columna AS `column` FROM your_table WHERE columna != 1 UNION SELECT columnb AS `column` FROM your_table WHERE columnb != 1;
语句解释:
- 第一个查询块:从
columna中筛选出不等于1的值,并重命名为column; - 第二个查询块:同样处理
columnb列,筛选非1的值并重命名; UNION关键字会把两个查询的结果合并成一列,并且自动剔除重复的数值,完美得到你想要的结果。
小补充:
如果不需要去重(比如想保留所有符合条件的重复值),只需要把UNION换成UNION ALL就行;如果你的特定值是字符串类型,记得给值加上单引号,比如WHERE columna != 'target_value'。
内容的提问来源于stack exchange,提问作者joelc
相关产品推荐
相关产品推荐

