`
wolfmaster
  • 浏览: 159242 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql group_concat自增主键问题

阅读更多

在进行分组时,有时候需要将某一字段的值以逗号或其它符号拼接在一起,可以使用group_concat函数来完成,如果要拼的字段是字符型的,很好办,用group_concat(字段名 separator ",")就行.
今天在测试程序时,发现有问题,后来发现就是group_concat函数的问题,拼接的字段是主键ID,我设为自动增长,我使用 group_concat(oct(doId) separator ",")发现拼接的主键不对劲,如果不使用oct()函数,对于要拼接的字段是数字型的这种情况,产生的结果就会是一个BLOB数据,因此要使用函数来处 理一下,后来我查了查MYSQL手册,发现oct()函数是返回一个8进制的数,原因找到了就好解决了,于是就再找啊找啊,找到了conv()函数,再转 换成10进制的数字就OK了,返回的结果正如我意,group_concat(conv(oct(doId),8,10) separator ",") 和
group_concat(conv(conv(doId,10,8),8,10) separator ',') 产生的效果是一样的

 

转载

分享到:
评论

相关推荐

    mysql中GROUP_CONCAT的使用方法实例分析

    在MySQL中,`GROUP_CONCAT` 是一个非常实用的聚合函数,它允许你在分组查询时将同一组内的多个值合并成一个字符串。这个函数在处理列表或者集合数据时非常有用,尤其在需要将关联表中的多行数据整合成一行展示时。...

    处理group by 查询速度慢的问题.docx

    ### 处理GROUP BY 查询速度慢的问题 在实际项目中,由于数据表的记录数量庞大,经常遇到查询速度缓慢的问题。本文将详细记录一次针对GROUP BY查询效率低下的排查及优化过程,希望能够对读者有所帮助。 #### 问题...

    mysql合并多条记录的单个字段去一条记录编辑

    总结来说,MySQL中的GROUP_CONCAT函数配合GROUP BY语句,为我们提供了方便的工具来处理多条记录的单个字段合并。根据实际需求选择合适的方法,可以有效地对数据进行汇总和展示。在处理大量数据时,合理使用这些函数...

    mysql命令学习总结

    在上述例子中,当学生成绩分布在多行时,GROUP_CONCAT可以将同一学生的各科成绩组合成一个列表。 3. **CREATE TABLE命令**: 创建新的表结构,包括定义字段、数据类型、约束等。例如,`blog_user`表创建了用户名、...

    MySQL数据库开发期末复习试题1.docx

    选择题部分涉及了MySQL的连接、版本查询、语句结束符设置、提示符设置、SQL脚本导入、SELECT语句用法、ENUM排序、LIMIT子句应用、聚合函数GROUP_CONCAT、GROUP BY WITH ROLLUP、SQL模式查看、无效值处理方式、...

    《MySQL数据库开发》期末复习题.pdf

    在选择题部分,我们看到了关于连接MySQL、查看版本、设置语句结束符、导入SQL脚本文件的命令,以及关于SELECT语句的使用、ENUM类型排序、LIMIT子句、GROUP_CONCAT函数、WITH ROLLUP选项、SQL模式查看、无效值处理等...

    MySQL导出所有Index和约束的方法

    NAME, '` USING ', INDEX_TYPE )END,IF(UPPER(INDEX_NAME) = 'PRIMARY', CONCAT('PRIMARY KEY USING ', INDEX_TYPE ),CONCAT('UNIQUE INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE))),'(', GROUP_CONCAT(DISTINCT ...

    获取MySQL的表中每个userid最后一条记录的方法

    传统的方法可能会涉及使用临时表、主键和JOIN操作,但这里介绍一种更简洁的方法,利用`GROUP BY`和`GROUP_CONCAT`函数,结合`SUBSTRING_INDEX`来实现: ```sql SELECT userid, SUBSTRING_INDEX(GROUP_CONCAT(a...

    MySql面试题.doc

    - GROUP_CONCAT(字段):将多行合并成一个字符串。 14. 模糊查询关键字? `LIKE`用于进行部分匹配。 15. `%`与`_`的区别? - `%`匹配0至多个字符。 - `_`匹配单个字符。 16. 去重关键字? `DISTINCT`用于去除...

    MySQL 80道面试题及答案.docx

    6. group_concat(column):将列中的值合并为一个字符串,以逗号分隔。 7. date_format(date, format):按指定格式格式化日期时间。 8. now():获取当前日期和时间。 9. concat(string1, string2):连接两个字符串。 ...

    10分钟学会写一个简单的Mysql存储过程.pdf

    在MySQL的高版本中,如果遇到错误`1055`,提示`this is incompatible with sql_mode=only_full_group_by`,这通常是由于`ONLY_FULL_GROUP_BY` SQL模式启用,该模式要求在`GROUP BY`子句中列出的所有列要么在聚合函数...

    02_mysql基础练习题02.docx

    20. **GROUP_CONCAT函数**:此函数将分组后的结果集合并成一个字符串,用逗号分隔。 21. **WITH ROLLUP**:在GROUP BY语句中使用WITH ROLLUP会生成额外的行,提供更高级别的汇总信息。 22. **查看全局SQL模式**:`...

    《MySQL数据库开发》期末复习题1.pdf

    选择题部分涉及了连接MySQL服务器的语法、查询版本、设置语句结束符、提示符、导入脚本文件的命令以及关于`SELECT`语句、`ENUM`类型排序、`LIMIT`子句、`GROUP_CONCAT()`函数、`WITH ROLLUP`的作用、查询SQL模式、非...

    《MySQL数据库开发》期末复习试题1[借鉴].pdf

    - GROUP_CONCAT()函数的作用,用于连接并返回一组结果。 - GROUP BY语句的WITH ROLLUP扩展,用于多级汇总。 - 查看全局SQL模式的命令。 - 非严格模式下处理无效值的行为。 - 严格模式下处理无效值的规则。 此外,还...

    最全MySQL面试60题和答案.docx

    MySQL是一种广泛使用的开源关系型数据库管理系统,其面试题涵盖了数据库设计、优化、事务处理、存储引擎等多个方面。以下是基于提供的题目和内容,提炼出的一些关键知识点: 1. **锁机制**: - MySQL中的锁包括表...

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    这个函数利用了`GROUP_CONCAT`函数和`FIND_IN_SET`函数,将当前节点的所有子级ID合并成一个字符串。同样,当没有更多的子节点时,循环终止。 使用这两个函数,我们可以轻松地获取任何节点的父级列表和子级列表。...

    mysql运维工程师笔记

    * 自增主键:auto_increment primary key * 非空约束:not null * 唯一约束:unique * 默认约束:default ‘默认值’ 函数: * Sum() 求和 * Max() 最大值 * Min() 最小值 * Avg() 平均值 * concat() 用于连接字符...

Global site tag (gtag.js) - Google Analytics