T1
F1 F2 F3 F4
a 2 2 NULL
a 2 3 UK
但我想只有结果是a 2 2,3 UK
如果我选择
如何实现这一目标?
我正在查看结果:2 2,3英国和2,3是F3领域
答案 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
这是你在看什么?