Oracle : 'Zählung über Partition' - Ausgabe auf der ersten Zeile des keyword allein
Habe ich Abfragen eine Tabelle, die wie folgt Aussehen.
select count(*) over (PARTITION BY offer_status) as count, name, status
from tablename
Ausgegeben werden als:
3 | name1 | eingetragen
3 | name1 | eingetragen
3 | name2 | ausgeglichen
1 | name3 | abgeschlossen
3 | name3 | ausgeglichen
3 | name1 | eingetragen
3 | name2 | ausgeglichen
Ich möchte um es zu bekommen :
3 | name1 | eingetragen
| name3 | eingetragen
3 | name2 | ausgeglichen
1 | name3 | abgeschlossen
| name3 | ausgeglichen
| name3 | eingetragen
| name3 | ausgeglichen
Um die Anzahl der status nur für das erste auftreten des Begriffs (der status), es ist nicht notwendig, um die Zählung wieder und wieder.
Oder können Sie mir empfehlen einen anderen Weg, um bekommen es zu tun.
NULL
beeinflusst die Leistung nicht.Ich bearbeitet die Beschreibung zu "erste auftreten"
Ich glaube nicht, dass Sie verstehen, das Konzept der "ungeordnete". Es ist nicht das erste Vorkommnis in einer SQL-Tabelle, es sei denn, definiert durch eine andere Spalte, wie z.B. eine id oder Einfügung Zeit.
InformationsquelleAutor smilyface | 2015-02-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde so etwas machen:
Sehen SQL Fiddle
Als Gordon Linoff, sagte, müssen Sie irgendeine Art von Bestellung. Ich befahl Ihnen durch order_name aber wenn Sie einige andere Feld in der Tabelle, die Sie verwenden könnten, statt.
InformationsquelleAutor Zajonc