Ich verwende vertica und benutze die min() Fensterfunktion, über ein Fenster. Die Funktion scheint jedoch für einige Fenster gut zu funktionieren, aber für einige Fenster gibt sie unterschiedliche Min-Werte im selben Fenster zurück. Gibt es etwas, das ich mit Blick auf binmin() Fensterfunktion in Vertica funktioniert nicht richtig - gibt verschiedene Werte für dasselbe Fenster zurück
select visid_high, visid_low, visit_num, date_time, visit_page_num,
min(visit_page_num) over (partition by visid_high , visid_low , visit_num order by date_time) as min_hotelinfo
from prd_omniture_hit_data_all where pagename='Hotel Info - Home' and date(Date_time)='2016-06-19' order by visid_high, visid_low, visit_num, date_time
Dies funktioniert gut für einige Fenster und kehrt zur Folge haben, wie unten
visid_high visid_low visit_num date_time visit_page_num min_hotelinfo
1000025785676989783 3541599610445607061 1 6/19/2016 8:54 2 2
1000025785676989783 3541599610445607061 1 6/19/2016 8:55 4 2
1000025785676989783 3541599610445607061 1 6/19/2016 8:55 5 2
visid_high visid_low visit_num date_time visit_page_num min_hotelinfo
1000334043872452151 13928857828543794490 1 6/19/2016 14:56 2 2
1000334043872452151 13928857828543794490 1 6/19/2016 14:57 6 2
1000334043872452151 13928857828543794490 1 6/19/2016 14:57 7 2
1000334043872452151 13928857828543794490 2 6/19/2016 16:09 2 2
10006241273945967252 17961652664059791311 1 6/19/2016 20:09 2 2
10006241273945967252 17961652664059791311 1 6/19/2016 20:09 4 2
10006241273945967252 17961652664059791311 1 6/19/2016 20:10 8 2
Doch für manche Fenster, ist es nicht richtig funktioniert
visid_high visid_low visit_num date_time visit_page_num min_hotelinfo
10007599756616641840 269931436307846555 2 6/19/2016 19:51 2 2
10007599756616641840 269931436307846555 2 6/19/2016 19:52 3 2
10007599756616641840 269931436307846555 2 6/19/2016 19:52 5 2
10007599756616641840 269931436307846555 2 6/19/2016 19:53 7 2
10007599756616641840 269931436307846555 2 6/19/2016 19:53 9 2
10007599756616641840 269931436307846555 2 6/19/2016 19:53 10 **10**
10009683770139214971 14890994612952617462 2 6/19/2016 8:03 5 5
10009683770139214971 14890994612952617462 2 6/19/2016 8:03 7 **5**
10009683770139214971 14890994612952617462 2 6/19/2016 8:09 26 **26**
10009683770139214971 14890994612952617462 2 6/19/2016 8:12 28 26
10009683770139214971 14890994612952617462 2 6/19/2016 8:13 30 26
10009683770139214971 14890994612952617462 2 6/19/2016 8:14 32 26
10009683770139214971 14890994612952617462 2 6/19/2016 8:15 36 26
10009683770139214971 14890994612952617462 2 6/19/2016 8:17 40 26
visid_high visid_low visit_num date_time visit_page_num min_hotelinfo
10012413883034897266 8201606845758098188 1 6/19/2016 7:22 4 4
10012413883034897266 8201606845758098188 1 6/19/2016 7:24 5 4
10012413883034897266 8201606845758098188 1 6/19/2016 7:24 8 4
10012413883034897266 8201606845758098188 1 6/19/2016 7:24 7 4
10012413883034897266 8201606845758098188 1 6/19/2016 7:24 6 **4**
10012413883034897266 8201606845758098188 1 6/19/2016 8:04 16 **16**
10012413883034897266 8201606845758098188 1 6/19/2016 8:06 20 16
10012413883034897266 8201606845758098188 1 6/19/2016 8:06 25 16
10012413883034897266 8201606845758098188 1 6/19/2016 8:07 28 16
10012413883034897266 8201606845758098188 1 6/19/2016 8:07 30 16
Welche genaue Version von Vertica laufen Sie? 'select version();' – woot
@woot Vertica Analytische Datenbank v7.2.3-0 – Teja
Warum die 'Reihenfolge von' in der Fensterdefinition? Ich scheitere, also sehen Sie, warum Sie eine Bestellung brauchen, um das Minimum zu bekommen. Gewöhnlich verwandelt eine 'Ordnung durch' in einem Aggregat, das als eine Fensterfunktion verwendet wird, dieses in ein" laufendes Aggregat ". Funktioniert es so, wie Sie erwarten, dass es funktioniert, wenn Sie die 'Order by' entfernen? –