我想在MySQL中将选定的值转换为逗号分隔的字符串。我的初始代码如下:
SELECT id FROM table_level where parent_id=4;
哪个产生了:
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
我想要的输出看起来像这样:
"5,6,9,10,12,14,15,17,18,779"
检查一下
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;
问题内容: 我有以下表格: 过滤器 使用者 我想运行以下选择 我想收到 但是我什么也没收到。 问题在于该字段是文本,因此“ in select”返回的内容类似于“ 1、2、3”(带有分号),因此 in 找不到任何值。 是否可以进行强制转换或将字符串更改为数组的选项? 问题答案: 最好规范化您的架构,不要以逗号分隔列表的形式存储关系,而是为此创建一个联结表,以维护用户和过滤器之间的 m:m 多对多关
问题内容: 我的数据库中有一个表,如下所示: 我需要创建一个SELECT语句,该语句在’mgroup_others’逗号分隔列表中指定整数的位置选择所有成员。因此,例如,我编写了一条SQL语句,该语句将选择’mgroup_others’包含‘10’的所有成员,并且它将返回成员1、2和3但不返回成员4,因为10不在该字段中。任何帮助将不胜感激!谢谢。我也是用PHP编写的。 问题答案: 由于是列,如果
问题内容: 如果用户定义的变量是一串用逗号分隔的数字,例如,是否可以在函数中使用它? 具体来说: 不选择t等于c等于1或2或4的行。 问题答案: 您不能直接使用变量来执行此操作。根据您现在拥有的内容,服务器正在尝试执行…显然,这不是您想要的,因为您要检查c是否包含给定的单个字符串。 您必须根据列表生成动态SQL,以使其正常工作。
问题内容: 我需要以以下方式执行选择查询: 实现该目标的正确方法是什么? 考虑到我可以控制发送字符串的客户端代码,有没有更好的方法?(该字符串将包含大约30个id,因此我试图避免发送30个参数,每个id一个)。 谢谢你们 问题答案: 您可以使用MySQL 函数: 附录 :请注意,上面的查询 无法 优化,因此,如果您在MySQL 上有索引,则不会使用它。您必须决定使用相对简单是否值得潜在的性能损失(
问题内容: 我有一个字符串,其中包含格式货币值(如)和多个值(以逗号分隔)。 我想提取并处理所有货币值,但无法为此找到正确的正则表达式,这是我尝试过的 输出为: 有人可以帮我这个吗? 问题答案: 您需要一个正则表达式“向后看” ,它匹配但确实消耗: 这是您现在可以使用的测试用例: 输出:
问题内容: 当我有1、2、3等字符串列表时,我想将此列用作一列 是否可以通过sql查询? 例如) <-我知道这不起作用。 问题答案: 使用任意数字的子查询来分割您的字符串。您可以使用‘1,2,3’代替vals。 看到它正常工作