如何在mysql中合并2行

时间:2010-08-03 08:36:28

标签: sql mysql

T1

F1 F2 F3 F4
a  2  2  NULL
a  2  3  UK

但我想只有结果是a 2 2,3 UK如果我选择

如何实现这一目标?

我正在查看结果:2 2,3英国和2,3是F3领域

4 个答案:

答案 0 :(得分:2)

如果你想按F1和F2进行分组并在一个字符串中获取F3的所有值,用逗号分隔(这似乎是你要问的那个),那么你将不得不使用GROUP_CONCAT。< / p>

select F1, F2, GROUP_CONCAT(F3 ORDER BY F3) as F3, F4 from T1 group by F1, F2

BTW请务必阅读GROUP_CONCAT上的文档(请参阅上面的链接),因为如果超过最大长度(默认值为1024个字符),该字段将被截断!你得到的F4值可能不是你所期望的(因为查询是使用MySQL的许多讨厌的“功能”之一)...如果F4在两行中都包含英国会更有意义,那么你可以添加F4到小组的子句。

答案 1 :(得分:1)

select F1, F2, F3, F4 FROM T WHERE F4 is not null

答案 2 :(得分:1)

试试这个。

 select * from T1 where (F4!='' or F4 is not Null)

答案 3 :(得分:1)

你可以使用下面给出的查询 -

select * from T1 where F4 is not null

这是你在看什么?