【问题标题】:MySql Fetching comma separated primary key in one queryMySql在一个查询中获取逗号分隔的主键
【发布时间】:2015-03-01 08:54:42
【问题描述】:

我想在单个查询中获取一个表的所有行的主键。

我使用查询实现它--

SELECT GROUP_CONCAT( id SEPARATOR  ',' ) AS ids
FROM tbl_facebook_users
WHERE facebook_user_id
IN ( 336120419901063, 10205028697461204 )

结果如下:

结果:-

ids
-----------
[BLOB - 4B]

实现此功能并获得正确结果的解决方案是什么?

【问题讨论】:

  • id字段的类型是什么
  • 问题已解决: ------ 从 tbl_facebook_users 中选择 CONVERT(GROUP_CONCAT(id) USING utf8) 作为 ids 默认情况下,用逗号分隔 ids ','

标签: mysql sql rows comma separator


【解决方案1】:

参考这篇文章:using group_concat in PHPMYADMIN will show the result as [BLOB - 3B]

CONVERT(GROUP_CONCAT( id SEPARATOR  ',' ) USING 'utf8')

【讨论】:

    【解决方案2】:

    @ tejashoni111 : 我正在研究 phpmyadmin 并且主键id 已经有排序规则utf8_general_ci

    【讨论】:

      【解决方案3】:

      使用这个 显示 BLOB 内容 如果你想要 SEPARATOR like ',',请不要在查询中使用 SEPARATOR,因为在 MySQL 中默认 SEPARATOR 是 ','

      【讨论】:

        【解决方案4】:

        使用以下查询解决了问题:

        从 tbl_facebook_users 中选择 CONVERT(GROUP_CONCAT(id) USING utf8) 作为 id

        默认情况下,它用逗号分隔 id ','

        如果您想使用任何其他分隔符(例如“;”),请将其用作 --

        从 tbl_facebook_users 中选择 CONVERT(GROUP_CONCAT(id SEPARATOR ';' ) USING utf8) 作为 id

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多