Post by Anton ErtlDas waere ungefaehr (mit Fahrzeugkategorie in der ersten Spalte,
awk -F, '{key=$1","$2; count[key]+=1; sum[key]+=$3;} \
END {for (i in count) print count[i]","key","sum[i]}' testtabelle.csv|
sort -t, -nr
Fahrzeugkategorie ist zweite Spalte (die erste ist die Laufnummer,
unique, eignet sich zum Zählen), Postleitzahl ist Spalte 9, Bussenbetrag
Spalte 11.
Die Datei, die ich verwende (eigentlich original so runtergeladen, aber
die Spaltenüberschriften gekürzt, vereinfacht und ent-umlautet) ist hier:
http://www.mirada.ch/bussen.csv
Die ersten drei Zeilen:
Laufnummer;Kategorie;Nwochentag;Wochentagnummer;Wochentag;Monat;Jahr;Tempolimit;Postleitzahl;Ort;Betrag;Bussenziffer;Zusatz;Text
13504;Personenwagen;5
Donnerstag;5;Donnerstag;1;2017;30.0;4058;Basel;40;303.1.a;D;Überschreiten der
signalisierten Zonen-Höchstgeschwindigkeit nach Abzug der vom ASTRA
festgelegten Geräte- und Messunsicherheit um 1 - 5 km/h
13505;Personenwagen;5
Donnerstag;5;Donnerstag;1;2017;30.0;4058;Basel;120;303.1.b;D;Überschreiten
der signalisierten Zonen-Höchstgeschwindigkeit nach Abzug der vom
ASTRA festgelegten Geräte- und Messunsicherheit um 6-10 km/h
Dein akw-Skript ist für mich nicht vollständig selbsterklärend(tm), ich
hab mal leicht die Spalten angepasst:
awk -F, '{key=$2","$9; count[key]+=1; sum[key]+=$11;} \
END {for (i in count) print count[i]","key","sum[i]}' ./bussen.csv|
sort -t, -nr
Ausgabe:
985529,,,0
16988,,,0
15963,,,0
11277,,,0
6030,,,0
5904,,,0
5808,,,0
3952,,,0
2821,,,0
1489,,,0
754,,,0
583,,,0
580,,,0
578,,,0
562,,,0
556,,,0
478,,,0
471,,,0
424,,,0
411,,,0
369,,,0
304,,,0
214,,,0
201,,,0
195,,,0
186,,,0
173,,,0
151,,,0
151,,,0
118,,,0
82,,,0
82,,,0
76,,,0
72,,,0
69,,,0
61,,,0
54,,,0
52,,,0
50,,,0
50,,,0
48,,,0
44,,,0
38,,,0
29,,,0
28,,,0
23,,,0
20,,,0
18,,,0
17,,,0
17,,,0
17,,,0
16,,,0
15,,,0
14,,,0
13,,,0
11,,,0
11,,,0
10,,,0
9,,,0
7,,,0
7,,,0
7,,,0
7,,,0
7,,,0
7,,,0
6,,,0
6,,,0
6,,,0
6,,,0
6,,,0
5,,,0
5,,,0
5,,,0
5,,,0
5,,,0
4,,,0
4,,,0
4,,,0
4,,,0
3,,,0
3,,,0
3,,,0
3,,,0
3,,,0
2,,,0
1,,,0
1,,,0
1,,,0
1,,,0
1,,,0
1,,,0
1,,,0
Meine SQL-Abfrage:
select count(Laufnummer), Kategorie, Postleitzahl, sum(Betrag)
from bussen
where Jahr=2021
group by Kategorie, Postleitzahl
order by count(Laufnummer) desc, kategorie, Postleitzahl;
Ausgabe:
30648 Personenwagen 4058 1573920
18941 Personenwagen 4052 1132410
16908 Personenwagen 4057 1164850
14316 Personenwagen 4051 880680
11380 Personenwagen 4053 593050
10964 Personenwagen 4056 582480
8937 Personenwagen 4054 488560
7820 Personenwagen 4055 415510
7518 Personenwagen 4125 412900
2030 Lieferwagen 4058 116120
1825 Lieferwagen 4052 114690
1629 Personenwagen 4059 80530
1221 Lieferwagen 4051 85710
1215 Lieferwagen 4057 81630
903 Lieferwagen 4053 52010
880 Lieferwagen 4056 47840
717 Lieferwagen 4055 42270
624 Lieferwagen 4125 35180
617 Lieferwagen 4054 35220
488 Motorrad 4051 36260
478 Fahrrad 4051 16000
394 Motorrad 4058 34690
352 Fahrrad 4052 12400
337 Motorrad 4052 29750
264 Fussgänger 4057 26510
257 Motorrad 4057 23410
218 Motorrad 4053 16100
212 Fussgänger 4058 19460
211 Fahrrad 4053 8420
210 Personenwagen -1 29100
167 Motorrad 4056 12950
142 Lastwagen 4058 5980
139 Motorrad 4125 9900
130 Motorrad 4054 9730
117 Lieferwagen 4059 6140
115 Fahrrad 4057 4400
105 Fahrrad 4056 3710
95 Lastwagen 4057 10400
93 Motorrad 4055 8950
92 Fussgänger 4056 8990
91 Fahrrad 4058 3090
90 Personenwagen 4001 6830
88 Personenwagen 4126 5310
83 E-Scooter ohne Nr 4052 1760
78 Fussgänger 4055 6450
72 Lastwagen 4052 3940
70 Fussgänger 4051 5570
66 Fussgänger 4052 5180
66 Fussgänger 4053 5810
64 Fahrrad 4054 2510
57 Taxi 4058 4220
56 Lieferwagen 4001 4680
51 Fahrrad 4001 1540
37 Fahrrad 4125 1340
37 Motorrad 4059 2710
35 Fahrrad 4055 1480
35 Taxi 4056 2150
35 Taxi 4057 2220
31 Kleinmotorrad 4051 2250
31 Kleinmotorrad 4058 2590
30 Fahrrad 4059 970
29 Kleinmotorrad 4057 2030
28 Lastwagen 4051 2680
27 Kleinmotorrad 4125 2010
25 Taxi 4053 1530
25 Wohnmobil 4052 760
24 Fussgänger 4054 2040
24 Kleinmotorrad 4053 1940
24 Sattelschlepper 4058 840
23 Taxi 4052 1650
23 Taxi 4054 1370
22 Lastwagen 4054 1570
21 Lastwagen 4053 1640
21 Leichter Motorwagen 4053 1220
17 Leichter Motorwagen 4052 760
17 Leichter Motorwagen 4058 640
17 Motorfahrrad 4051 820
17 Motorfahrrad 4058 700
16 Lastwagen 4056 1440
14 Motorfahrrad 4053 470
14 Motorrad 4001 1140
14 Taxi 4125 880
13 Kleinmotorrad 4052 1150
13 Mitfahrer 4058 780
12 Lieferwagen -1 1000
11 Leichter Motorwagen 4055 500
11 Leichter Motorwagen 4056 440
11 Leichter Motorwagen 4057 620
10 E-Bike 4051 400
10 E-Bike 4053 370
10 E-Scooter ohne Nr 4051 280
10 Lieferwagen 4126 680
10 Motorrad -1 2020
9 Leichter Motorwagen 4051 540
9 Mitfahrer 4057 540
9 Taxi 4051 460
9 Taxi 4055 570
9 Wohnmobil 4058 320
8 Kleinmotorrad 4054 670
8 Lastwagen 4055 1000
8 Lastwagen 4125 480
8 Leichtmotorfahrrad 4052 180
8 Mitfahrer 4051 480
8 Motorrad 4126 540
7 E-Scooter ohne Nr 4053 260
7 E-Scooter ohne Nr 4058 140
7 Fussgänger 4001 1000
7 Kleinmotorrad 4055 280
7 Mitfahrer 4056 420
7 Motorfahrrad 4059 160
6 Bus 4058 320
6 E-Scooter ohne Nr 4001 140
6 Kleinmotorrad 4001 480
6 Kleinmotorrad 4056 320
6 Leichtmotorfahrrad 4051 200
6 Mitfahrer 4052 360
6 Motorfahrrad 4052 160
6 Sattelschlepper 4052 260
6 Sattelschlepper 4057 620
6 Wohnmobil 4125 240
5 Arbeitsmaschine 4058 450
5 Car 4052 220
5 E-Scooter ohne Nr 4057 160
5 Fussgänger -1 300
5 Lastwagen -1 500
5 Leichter Motorwagen 4054 340
5 Leichter Motorwagen 4059 260
5 Mitfahrer -1 300
5 Wohnmobil 4057 580
4 Bus 4125 160
4 Fussgänger 4125 500
4 Kleinmotorrad 4059 380
4 Mitfahrer 4055 240
4 Motorfahrrad 4054 220
4 Motorfahrrad 4057 100
4 Sachentransportanhänger 4052 300
4 Taxi 4059 160
3 Bus 4053 120
3 Bus 4056 180
3 E-Scooter ohne Nr 4054 70
3 Gesellschaftswagen 4051 300
3 Lastwagen 4059 200
3 Leichter Motorwagen 4125 120
3 Leichtmotorfahrrad 4054 80
3 Leichtmotorfahrrad 4057 80
3 Lieferwagen + Anhänger 4125 260
3 Mitfahrer 4053 180
3 Motorfahrrad 4125 100
3 Wohnmobil 4051 120
3 Wohnmobil 4054 200
3 Wohnmobil 4056 120
2 Bus 4054 140
2 Car 4051 160
2 Dreirädriges Motorfahrzeug 4051 140
2 Dreirädriges Motorfahrzeug 4057 80
2 Dreirädriges Motorfahrzeug 4058 120
2 E-Bike 4054 120
2 E-Scooter mit Nr 4053 70
2 Kleinbus 4052 100
2 Kleinbus 4125 80
2 Kleinmotorfahrzeug 4056 80
2 Kleinmotorfahrzeug 4057 80
2 Leichtmotorfahrrad 4056 80
2 Motorfahrrad 4056 90
2 Personenwagen-Anhänger -1 400
2 Sachentransportanhänger 4125 100
2 Sattelschlepper -1 200
2 Sattelschlepper 4054 180
2 Sattelschlepper 4056 180
2 Schwerer Personenwagen 4051 370
2 Wohnmobil 4053 80
1 Anhänger 4051 40
1 Anhänger 4052 120
1 Anhänger 4058 40
1 Arbeitsmaschine 4051 100
1 Arbeitsmaschine 4056 40
1 Bus 4051 40
1 Car 4056 40
1 Car 4057 60
1 Car 4058 20
1 Dreirädriges Motorfahrzeug 4053 40
1 Dreirädriges Motorfahrzeug 4055 40
1 Dreirädriges Motorfahrzeug 4056 40
1 Dreirädriges Motorfahrzeug 4125 120
1 E-Bike 4052 60
1 E-Bike 4055 60
1 E-Bike 4056 60
1 E-Bike 4058 30
1 E-Bike 4059 30
1 E-Scooter mit Nr 4058 20
1 E-Scooter ohne Nr 4055 20
1 E-Scooter ohne Nr 4056 20
1 Gesellschaftswagen 4056 40
1 Kleinbus 4051 40
1 Kleinbus 4056 100
1 Kleinbus 4057 200
1 Kleinbus 4058 120
1 Kleinmotorfahrzeug 4051 120
1 Kleinmotorfahrzeug 4053 40
1 Landw. Motorkarren 4059 120
1 Lastwagen 4001 100
1 Leichtes Sattelmotorfahrzeug 4052 250
1 Leichtmotorfahrrad 4053 20
1 Leichtmotorfahrrad 4125 20
1 Lieferwagen + Anhänger 4058 140
1 Motoreinachser 4125 40
1 Motorfahrrad 4001 60
1 Motorkarren 4053 40
1 Motorrad + Anhänger 4055 40
1 Motorrad-Anhänger 4052 40
1 Motorrad-Dreirad 4053 40
1 Motorrad-Dreirad 4056 40
1 Motorrad-Dreirad 4125 40
1 PW + Anhänger. bis 1t 4125 40
1 Personenwagen-Anhänger 4057 200
1 Quad 4053 40
1 Quad 4058 20
1 Roller 4051 40
1 Sachentransportanhänger 4054 100
1 Sachentransportanhänger 4057 40
1 Sachentransportanhänger 4058 100
1 Sachentransportanhänger 4059 40
1 Sattel-Sachentransportanh. 4051 100
1 Sattel-Sachentransportanh. 4052 100
1 Sattelmotorfahrzeug 4053 120
1 Schwerer Motorwagen 4058 40
Gruss
Patrick