为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL GROUP_CONCAT(DISTINCT ...) 忽略数据

MySQL GROUP_CONCAT(DISTINCT ...) 忽略数据

PHP
FFIVE 2023-05-12 16:08:49
我正在连接存储邮政地址的表的多行和多列,使用GROUP_CONCAT.我的表看起来像这样(简化):id | street  | hNumber-----------------------1  | streetA | 1       -----------------------2  | streetB | 2      -----------------------3  | streetC | NULL    -----------------------在某些情况下,我需要连接我正在做的地址:GROUP_CONCAT(DISTINCT table.street, ' ', table.hNumber SEPARATOR ', ') as street例如,这会给我StreetA 1,StreetB 2作为结果,这正是我想要的。遗憾的是,此方法不适用于例如为hNumber空的情况,在这些情况下它仅返回street为NULL. 对于hNumber表格单元格为空的行,我希望看到它只是跳过空字段并返回street为StreetA 1, StreetC。我希望有人能指出我以正确的方式解决这个问题的方向。
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

MySQL 会跳过任何包含 NULL 值的行。简短的回答是预测列可能的 NULL 值并为此做好准备。例如:

SELECT GROUP_CONCAT(DISTINCT `street`, ' ' , IFNULL(`hNumber`,"") SEPARATOR ', ')

(创建空字符串,如果 hNumber 为 NULL)


查看完整回答
反对 回复 2023-05-12
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信