2017-03-29 5 views
1

Ich habe eine Tabelle wie unten mit ca. 1 Million Zeilen. col2 hat alle Alphabete (Konsonant + Vokal) col1 zufällige Wörter hatWie wählt man zufällig drei Zeilen in Sybase gegen Wertüberprüfung für andere Spalte

COL1   COL2 ...... 
val1   A 
val2   A 
val3   A 
val4   A 
val5   B 
val6   B 
val7   B 
val8   B 
.    . 
.    . 
.    . 
.    . 
.val100000 Z 

Jetzt möchte ich mit col2 in (A,E,I,O,U)

Als Hack, den ich verwendet das Ergebnis als zufällig drei Zeilen erhalten min und max Funktion, um die beiden Zahlen zu bekommen.Aber nicht die zufällige Eigenschaft.

Jede Hilfe würde hier sehr geschätzt werden.

Antwort

1

können Sie NEWID() verwenden

wie diese

select * 
from (select row_number() over (partition by col2 order by NEWID()) rownum, m.*  from myTable m 
where m.col2 in (A,E,I,O,U)) sel 
where sel.rownum=1 
+0

Nein, es ist für mich nicht funktioniert. – Shrey

+0

was funktioniert nicht? – Vecchiasignora

+0

THis gibt mir nur eine Zeile gegen A. – Shrey

Verwandte Themen