A表如下:
a b c d1 12:00 123 34
1 11:00 123 34
1 13:00 234 34
1 14:00 123 34
1 15:00 345 45
2 6:00 789 67
2 6:00 098 67我要把里面的数据查询出来,然后再插入到B表中,插入后的效果如下:B表:
a b c d
1 12:00/11:00/14:00 123 34 这个数据表的特点是在c字段中不重复的数据在d字段中可能重复,而重复的D字段部分又同属于a字段中的一个。
我现在要做的是把这个表中的c字段中重复的数据只调出来一个的同时把b字段中所有重复的时间全部放在一个字段里面,a字段和d字段由于都是相同的,所以只放一条,然后放入一张新表中。
就是说c字段重复的数据只要一条,但b字段中的内容却要在新表中的一行中同时出现,a、d字段只插入一条。
不知道我说的是否明白。
SQL语句应该怎么实现那?
a b c d1 12:00 123 34
1 11:00 123 34
1 13:00 234 34
1 14:00 123 34
1 15:00 345 45
2 6:00 789 67
2 6:00 098 67我要把里面的数据查询出来,然后再插入到B表中,插入后的效果如下:B表:
a b c d
1 12:00/11:00/14:00 123 34 这个数据表的特点是在c字段中不重复的数据在d字段中可能重复,而重复的D字段部分又同属于a字段中的一个。
我现在要做的是把这个表中的c字段中重复的数据只调出来一个的同时把b字段中所有重复的时间全部放在一个字段里面,a字段和d字段由于都是相同的,所以只放一条,然后放入一张新表中。
就是说c字段重复的数据只要一条,但b字段中的内容却要在新表中的一行中同时出现,a、d字段只插入一条。
不知道我说的是否明白。
SQL语句应该怎么实现那?
把b连接起来
字符串的话好象不可以吧
哎,楼主加我为好友了?要不是的话,我可能还真的找不到这个帖子,也就无从帮忙了。
如下SQL 语句 ,楼主可以实验一下,select a ,group_concat(b SEPARATOR '') as b,c,d from a where 1 group by c having count(*)>1;
也就是说,从c上分组和从 a,c,d上分组是一致的。