Ich habe eine Tabelle mit SQL verwendet folgende Bedingung erstellt:wie die folgende Bedingung in SQL auszuführen?
create table tbl2 as
select a.*, rank() over (partition by col1 order by col2) as rnk
from tbl1
jetzt will ich von tbl2 einen anderen Tisch schaffen, in dem ich die Platte unter folgender Bedingung auswählen möchten: Wenn ein Datensatz nur noch einen Rang I zur Verfügung hat, dann wähle diesen Datensatz, aber wenn der Datensatz mehrere Ränge verfügbar hat, dann wähle ich den Datensatz mit dem zweiten Rang. Lassen Sie mich ein Beispiel geben:
col1 rnk
1 1
2 1
2 2
3 1
3 2
3 3
gewünschte Ausgabe:
col1 rnk
1 1
2 2
3 2
wie erhalte ich meine Ausgabe mit SQL?
was rdbms arbeiten Sie mit? –
Ich benutze Orakel 11g – user3740154
meine Antwort sollte mit SQL-Server arbeiten, ich bin mir nicht sicher, wie Orakel damit umgehen wird. Bitte testen Sie es und sehen Sie. Bei zukünftigen Fragen markieren Sie bitte die entsprechenden rdbms. –