sql查询问题 问题继续?group_contact()函数的使用

dawenwen1128 2009-11-24 03:49:43
mysql> select * from t_dawenwen1128;
+-------+--------+
| c_id | c_name |
+-------+--------+
| 10001 | 沙 |
| 10001 | 石 |
| 10001 | 煤 |
| 10002 | 沙 |
| 10002 | 水 |
| 10002 | 盐 |
+-------+--------+
6 rows in set (0.00 sec)

mysql> select c_id,
-> SUBSTRING_INDEX(k,',',1) as name1,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(k,',',2),',',-1) as name2,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(k,',',3),',',-1) as name3
-> from (
-> select c_id,group_concat(c_name) as k /////c_name是double类型为什么会出错???
-> from t_dawenwen1128
-> group by c_id
-> ) t ;
+-------+-------+-------+-------+
| c_id | name1 | name2 | name3 |
+-------+-------+-------+-------+
| 10001 | 沙 | 石 | 煤 |
| 10002 | 沙 | 水 | 盐 |
+-------+-------+-------+-------+
2 rows in set (0.08 sec)

mysql>

c_name /////c_name是double类型为什么会出错???

...全文
728 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawenwen1128 2009-11-24
  • 打赏
  • 举报
回复
我要继续提问。。。。发新帖
dawenwen1128 2009-11-24
  • 打赏
  • 举报
回复
c_name是double类型的时候出错,varchar不会出错
ACMAIN_CHM 2009-11-24
  • 打赏
  • 举报
回复
并无你所说的问题。建议你给出你的测试用例。

mysql> select * from t_dawenwen1128;
+-------+--------+---------+
| c_id | c_name | c_namef |
+-------+--------+---------+
| 10001 | 沙 | 10.12 |
| 10001 | 石 | 10.12 |
| 10001 | 煤 | 10.12 |
| 10002 | 沙 | 10.12 |
| 10002 | 水 | 10.12 |
| 10002 | 盐 | 10.12 |
+-------+--------+---------+
6 rows in set (0.06 sec)

mysql> select c_id,
-> SUBSTRING_INDEX(k,',',1) as name1,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(k,',',2),',',-1) as name2,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(k,',',3),',',-1) as name3
-> from (
-> select c_id,group_concat(c_namef) as k
-> from t_dawenwen1128
-> group by c_id
-> ) t ;
+-------+-------+-------+-------+
| c_id | name1 | name2 | name3 |
+-------+-------+-------+-------+
| 10001 | 10.12 | 10.12 | 10.12 |
| 10002 | 10.12 | 10.12 | 10.12 |
+-------+-------+-------+-------+
2 rows in set (0.00 sec)

mysql>



建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
dawenwen1128 2009-11-24
  • 打赏
  • 举报
回复
问题解决,感谢二楼
select c_id,group_concat(cast(c_name as char)) as k
WWWWA 2009-11-24
  • 打赏
  • 举报
回复
从MYSQL HELP来看,并没有对group_concat()中的类型进行限制,
你出错的记录内容是什么,用其它类型,比如DECIMAL类型有无问题。
wwwwb 2009-11-24
  • 打赏
  • 举报
回复
select c_id,group_concat(c_name) as k ->
select c_id,group_concat(cast(c_name as char)) as k

56,685

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧