免费注册 查看新帖 |

Chinaunix

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

已完成 谢谢 怎么得到其中一列最大数的行? [复制链接]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-06 19:51 |只看该作者 |倒序浏览
file1

select * from a | 33
select * from a | 3
select * from a | 5
select * from a | 6
select * from a | 7
select * from a | 7
select * from b
select * from b
select * from b
select colmn from a
select * from a
要得到file2
file2
select * from a | 33
select * from b
select colmn from a
select * from a

[ 本帖最后由 shijiang1130 于 2009-2-10 10:03 编辑 ]

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
2 [报告]
发表于 2009-02-06 20:10 |只看该作者
看错题目了。以为是去掉重复的呢。

[ 本帖最后由 ynchnluiti 于 2009-2-6 20:13 编辑 ]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
3 [报告]
发表于 2009-02-06 20:17 |只看该作者

回复 #2 ynchnluiti 的帖子

谢谢回复.要重复的归类,而且放在一条命令行是不行的.我是分析SPY.LOG文件.

[ 本帖最后由 shijiang1130 于 2009-2-6 20:23 编辑 ]

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
4 [报告]
发表于 2009-02-06 20:24 |只看该作者
原帖由 shijiang1130 于 2009-2-6 20:17 发表
谢谢回复.要重复的归类

不太清楚要怎么处理。下面理解的对吗?
1
带"| 数字"的行取数字最大值的行,
select * from a | 33
select * from a | 3
select * from a | 5
保留 select * from a | 33

2 不带| 数字的行,去掉重复行
select * from b
select * from b
select * from b
保留一行 select * from b

还有没有别的情况。

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
5 [报告]
发表于 2009-02-06 20:27 |只看该作者

回复 #4 ynchnluiti 的帖子

open (FILE,"spy.log")||die ("failed!");
@file=(<FILE>);
close(FILE);
foreach $file(@file)
{
($date,$realtime,$num,$statement,$sql,$sample)=split(/\|/,"$file");
$file="$sql|$realtime|$sample";
}
@file=sort(@file);

foreach $file(@file){
($sql,$realtime,$sample)=split(/\|/,"$file");
checkRecord($file);
}

sub checkRecord()
{
$record=$_[0];
open (USERNAME,">>new.txt");
print USERNAME $record;
close(USERNAME);
   }
没有别的情况了.是这个样子的.原来是重复的少.我把每个重复的写进一个文件.再分析单个文件.这次重复的太多了.

[ 本帖最后由 shijiang1130 于 2009-2-6 20:31 编辑 ]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
6 [报告]
发表于 2009-02-06 20:42 |只看该作者
@array = ('Apple', 'Orange', 'Apple', 'Banana');%hashTemp = map { $_ => 1 } @array;@array_out = sort keys %hashTemp;# @array_out contains ('Apple', 'Banana', 'Orange')

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
7 [报告]
发表于 2009-02-06 20:44 |只看该作者
原帖由 shijiang1130 于 2009-2-6 20:42 发表
@array = ('Apple', 'Orange', 'Apple', 'Banana');%hashTemp = map { $_ => 1 } @array;@array_out = sort keys %hashTemp;# @array_out contains ('Apple', 'Banana', 'Orange')

可以用这段代码中的方法

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
8 [报告]
发表于 2009-02-06 20:46 |只看该作者
my %u = ();
@uniqed = grep {defined} map {if (exists $u{$_}) { undef; } else { $u{$_}=undef;$_; }} @list;
undef %u;
但是不知道怎么把那个最大的给取出来

[ 本帖最后由 shijiang1130 于 2009-2-6 20:48 编辑 ]

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
9 [报告]
发表于 2009-02-06 21:08 |只看该作者
原帖由 shijiang1130 于 2009-2-6 20:46 发表
my %u = ();
@uniqed = grep {defined} map {if (exists $u{$_}) { undef; } else { $u{$_}=undef;$_; }} @list;
undef %u;但是不知道怎么把那个最大的给取出来

看你的代码有一行是:
  1. $file="$sql|$realtime|$sample";
复制代码

但你1楼的例子是:
select * from a | 33
...
select * from a

$realtime, $sample为0或空时结果是什么样的。不是下面:
select * from a||
select * from a|12|
这种形式? 也许$realtime, $sample不会为空

结果是不是要根据$realtime排序,$realtime一样的按$sample排序。$realtime,$sample都相同的是重复记录。

可能我把问题想复杂了

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
10 [报告]
发表于 2009-02-06 21:14 |只看该作者

回复 #9 ynchnluiti 的帖子

说的有点乱。我不了解SPY.LOG
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP