mysql - 在 MySql Select 中显示列值两次

标签 mysql select

如果我有一个带有值的 MySql 表

col1
=====
1
1
1
5
5
5
5
7
7

我想获取 col1 的所有不同值(即 1,5,)并使用一个 SELECT 语句获取输出,如下所示:

1~1
5~5
7~7

我该怎么做?

最佳答案

这是查询:

GROUP_CONCAT 函数中使用分隔符 ~

查询 #1 用例场景:如果您想要按潮汐 (~) 分隔 col1 值,仅当相应的值具有整个表中的值相同。

查询#1:

SELECT 
 GROUP_CONCAT(col1 SEPARATOR '~') output
FROM scotttable
GROUP BY col1;

SQL FIDDLE DEMO

注意:它适用于任意数量的相同值。


查询 #2 用例场景: 仅当您想要 distinct col1 值时,无论它们是否在整个表中具有相应的相同值。

查询#2:

SELECT 
 CONCAT(col1,'~',col1) output
FROM scotttable
GROUP BY col1;

FIDDLE OF THIS QUERY

关于mysql - 在 MySql Select 中显示列值两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37693271/

相关文章:

MySQL - 从列中选择子字符串,而不从同一列中捕获相似的子字符串

mysql - 如何将一个月加两个月

javascript - 仅当元素未获得焦点时才执行函数

c# - 我如何从 SqlDataSource asp.net 中的多个表中进行选择

php - 如何使用 PHP 将大型 .csv 加载到 mysql 表中

mysql - 安装mysql-workbench后无法通过套接字 '/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器

php - Mysql-PHP,基于变量字段的旋转/交叉表

python - 使用 "load infile data"时将真假字符串转换为 bool 值

mysql - 读与写表数据库设计

javascript - 用于 ui-select 多个的 Angularjs 验证