gpt4 book ai didi

php - MySQL - 从多列中选择并忽略重复结果

转载 作者:行者123 更新时间:2023-11-29 07:29:32 25 4
gpt4 key购买 nike

我想运行一个包含 4 个不同列的 SELECT 语句,我们将它们称为 col1、col2、col3、col4,并按字母顺序显示每个列的所有文本,同时忽略任何重复项。

例如,该表包含以下数据。

 col1   |   col2     |   col3    |   col4   
===============================================
animal | | |
create | animal | |
destroy | | |
giant | create | animal |
create | destroy | belt |
animal | giant | animal | create
animal | | |

预期的结果应该是:

  • 动物
  • 腰带
  • 创建
  • 摧毁
  • 巨人

最佳答案

你可以使用 UNION :

SELECT col1 FROM tab
UNION
SELECT col2 FROM tab
UNION
SELECT col3 FROM tab
UNION
SELECT col4 FROM tab
ORDER BY col1

编辑:

为了避免 NULL 和空字符串:

SELECT *
FROM (SELECT col1 FROM tab
UNION
SELECT col2 FROM tab
UNION
SELECT col3 FROM tab
UNION
SELECT col4 FROM tab) sub
WHERE sub.col1 IS NOT NULL AND sub.col1 <> ''
ORDER BY col1;

关于php - MySQL - 从多列中选择并忽略重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52136348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com