Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将两个连续的MySQL行合并为一行_Php_Mysql_Sql - Fatal编程技术网

Php 如何将两个连续的MySQL行合并为一行

Php 如何将两个连续的MySQL行合并为一行,php,mysql,sql,Php,Mysql,Sql,我可以将两个sequntial MySQL表行合并为一行吗 例如,输入: Id FName 1 Name1 2 Name2 3 Name3 4 Name4 7 Name5 8 Name6 所需输出: Id FName 1 Name1,Name2 3 Name3,Name4 7 Name5,Name6 提前感谢。您可以使用模数运算符(%)来选择奇数行(按id),并使用联接来获得偶数编号的id drop table if exists t; create tab

我可以将两个sequntial MySQL表行合并为一行吗

例如,输入:

Id  FName
1   Name1
2   Name2
3   Name3 
4   Name4
7   Name5
8   Name6
所需输出:

Id FName
1  Name1,Name2
3  Name3,Name4
7  Name5,Name6

提前感谢。

您可以使用模数运算符(%)来选择奇数行(按id),并使用联接来获得偶数编号的id

drop table if exists t;
create table t (id int, FName varchar(5));

insert into t values
(1,   'Name1'),
(2,   'Name2'),
(3,   'Name3'),
(4,   'Name4'),
(7,   'Name5'),
(8,   'Name6');

select t.id,concat(t.fname,',',t1.fname) fname
from t t
join t t1 on t1.id = t.id + 1
where t.id % 2 <> 0

您可以使用模数运算符(%)来选择奇数行(按id),并使用联接来获得偶数编号的id

drop table if exists t;
create table t (id int, FName varchar(5));

insert into t values
(1,   'Name1'),
(2,   'Name2'),
(3,   'Name3'),
(4,   'Name4'),
(7,   'Name5'),
(8,   'Name6');

select t.id,concat(t.fname,',',t1.fname) fname
from t t
join t t1 on t1.id = t.id + 1
where t.id % 2 <> 0

您的问题不清楚。我的建议是仔细阅读数据库规范化。祝你好运人们将他们的非标准化表标准化。您是第一个尝试对其规范化表进行反规范化的人。@Rahul:作为一名软件开发人员,您必须遵守客户的指示,mate!!;)您的问题不清楚。我的建议是仔细阅读数据库规范化。祝你好运人们将他们的非标准化表标准化。您是第一个尝试对其规范化表进行反规范化的人。@Rahul:作为一名软件开发人员,您必须遵守客户的指示,mate!!;)谢谢你的回答和简短的解释。但唯一的问题是我需要两个奇数/偶数行。所以在这种情况下,模算子就不起作用了。但是,谢谢你的指导。我不明白你的评论。解决方案的结果给出了你想要的结果。谢谢你的回答和简短的解释。但唯一的问题是我需要两个奇数/偶数行。所以在这种情况下,模算子就不起作用了。但是谢谢你的指导我不明白你的意见解决方案的结果会给出你想要的结果吗?