MySQL:按字母顺序在多个列中获取唯一值

如果我的表看起来像这样: id | colA | colB | colC===========================1 | red | blue | yellow2 | orange | red | red3 | orange | blue | cyan 我运行什么SELECT查询,以便返回的结果是: 蓝色,青色,橙色,红色,黄色 基本上,我想在多个列中提取不

如果我的表看起来像这样:

id | colA   | colB | colC
===========================
1  | red    | blue | yellow
2  | orange | red  | red
3  | orange | blue | cyan

我运行什么SELECT查询,以便返回的结果是:

蓝色,青色,橙色,红色,黄色

基本上,我想在多个列中提取不同值的集合列表,并按字母顺序返回它们.

我不关心性能优化,因为结果被解析为将用作缓存的XML文件(数据库几乎不更新).所以即使是肮脏的解决方案也没关系.

谢谢你的帮助!

最佳答案

(SELECT DISTINCT colA AS color FROM table) UNION
(SELECT DISTINCT colB AS color FROM table) UNION
(SELECT DISTINCT colC AS color FROM table)
ORDER BY color

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐