免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 818 | 回复: 4
打印 上一主题 下一主题

麻烦高手帮忙看个问题!!!!在线等,急!!!!!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-21 16:39 |只看该作者 |倒序浏览
我表有两列name,xh,数据格式如下:
  name  xh
  a    1
  a    2
  a    3
  b    1
  b    2
  b    3
  c    4
  c    5
  d    6
..................

name 里某一值(如:a)对应的xh最多5个.请问有什么方法(用程序或sql语句显示或建表等)达到如下效果显示数据:
a   1  2  3
b   1  2  3
c   4  5
d   6

..................

或用
a   1,  2 , 3
b   1 , 2 , 3
c   4  5
d   6,

........
显示均可


谢谢大家!

论坛徽章:
0
2 [报告]
发表于 2005-02-21 17:38 |只看该作者

麻烦高手帮忙看个问题!!!!在线等,急!!!!!!!!

select name from table_name group by name

论坛徽章:
0
3 [报告]
发表于 2005-02-21 19:32 |只看该作者

麻烦高手帮忙看个问题!!!!在线等,急!!!!!!!!

你这个语句行吗?

论坛徽章:
0
4 [报告]
发表于 2005-02-21 20:18 |只看该作者

麻烦高手帮忙看个问题!!!!在线等,急!!!!!!!!

如果已经排序的话,可以使用下面的脚本,如果没有排序则先使用sort排序。
awk '{if($1==a) {printf "%s ",$2 } else {a=$1;if(NR==1) {printf "%s %s ",$1,$2;} else {printf "\n%s %s ",$1,$2}1}' filename

论坛徽章:
0
5 [报告]
发表于 2005-02-21 23:50 |只看该作者

麻烦高手帮忙看个问题!!!!在线等,急!!!!!!!!

偶也来也个

  1. temp=a
  2. echo -n "a"
  3. while read name xh
  4. do
  5. if [ $temp == $name ]
  6. then
  7.   echo -n " $xh"
  8. else
  9.   echo;echo -n "$name $xh"
  10. fi
  11. temp=$name
  12. done<filename
  13. echo
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP