亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5386 | 回復(fù): 7
打印 上一主題 下一主題

[數(shù)值計算] awk 如何實現(xiàn)sql sum group by? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-11-18 16:37 |只看該作者 |倒序瀏覽
大家好,我想實現(xiàn)如下的需求

例如:
1117 超市1  蘋果   10
1117 超市2  蘋果   20
1117 超市1  蘋果   50
1118 超市2  蘋果   100

變成這樣
1117 超市1  蘋果   60
1117 超市2  蘋果   20
1118 超市2  蘋果   100

該如何實現(xiàn)呢?

我在網(wǎng)上找了一條
awk '{a[$1]=a[$1]==""?$4:a[$1]","$4}END{for(i in a){c=split(a[i],b,",");{sum=0;for(j in b){sum+=b[j]};print i"\t"c"\t"sum}}}'


無奈沒明白 {a[$1]=a[$1]==""?$4:a[$1]","$4} 是咋回事,
所以特地來向各位大神請教

先謝謝大家拉

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報曉
日期:2017-01-10 15:19:56
2 [報告]
發(fā)表于 2015-11-18 16:42 |只看該作者
沒看明白

這樣可以到你要的效果
  1. awk '{a[$1" "$2" "$3]+=$NF}END{for(i in a)print i,a[i] | "sort"}' file
  2. 1117 超市1 蘋果 60
  3. 1117 超市2 蘋果 20
  4. 1118 超市2 蘋果 100
復(fù)制代碼

論壇徽章:
12
IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-11-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-01-19 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2016-01-17 15:31:3915-16賽季CBA聯(lián)賽之上海
日期:2016-01-16 15:44:3015-16賽季CBA聯(lián)賽之浙江
日期:2016-01-15 20:38:1815-16賽季CBA聯(lián)賽之北京
日期:2016-01-09 14:30:15CU十四周年紀(jì)念徽章
日期:2016-01-07 12:31:5115-16賽季CBA聯(lián)賽之四川
日期:2016-01-01 11:49:1515-16賽季CBA聯(lián)賽之深圳
日期:2015-12-24 14:23:4115-16賽季CBA聯(lián)賽之山西
日期:2015-12-15 16:22:31技術(shù)圖書徽章
日期:2015-12-10 17:41:0015-16賽季CBA聯(lián)賽之北控
日期:2016-02-03 10:03:24
3 [報告]
發(fā)表于 2015-11-18 16:50 |只看該作者
a[$1]=a[$1]==""?$4:a[$1]","$4
可以解釋為
if(a[$1]==""){a[$1]=$4}else{a[$1]=a[$1]","$4}

論壇徽章:
0
4 [報告]
發(fā)表于 2015-11-18 16:53 |只看該作者
回復(fù) 2# haooooaaa


    這條腳本簡單明了,多謝

論壇徽章:
1
雙子座
日期:2013-10-17 00:46:45
5 [報告]
發(fā)表于 2015-11-19 17:15 |只看該作者
回復(fù) 1# 541972321

常用統(tǒng)計分析 SQL 在 AWK 中的實現(xiàn)
    http://my.oschina.net/leejun2005/blog/100710#OSC_h3_5

論壇徽章:
0
6 [報告]
發(fā)表于 2015-12-10 08:58 |只看該作者
本帖最后由 jiajiagaga 于 2015-12-10 08:59 編輯

回復(fù) 2# haooooaaa


    請問我假如有N列,怎么寫?? 謝謝啦 ,遇到相同問題

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報曉
日期:2017-01-10 15:19:56
7 [報告]
發(fā)表于 2015-12-10 09:10 |只看該作者
本帖最后由 haooooaaa 于 2015-12-10 09:10 編輯

回復(fù) 6# jiajiagaga


    不知道樣本不好說。

如果也是最后一列。。。
  1. s="";for(i=0;++i<NF;)s=s $i" "; a[s]+=NF
復(fù)制代碼
。。。。

論壇徽章:
0
8 [報告]
發(fā)表于 2015-12-10 09:24 |只看該作者
回復(fù) 7# haooooaaa
好滴,我先試試,謝謝啦。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP