Du kan løse dette med en denormalisering:
- Byg en sekundær tabel, der indeholder de samme pkeys og statusser som din datatabel
- Tilføj og udfyld en statusgruppekolonne, som vil være en slags undernøgle, som du selv nummererer automatisk (1-baseret autoinkrement i forhold til en enkelt status)
Når du ikke behøver at filtrere, kan du generere rand #s på pkey som du nævnte ovenfor. Når du har brug for at filtrere, så generér rands mod StatusPkeys for den særlige status, du er interesseret i.
Der er flere måder at bygge dette bord på. Du kan have en procedure, som du kører på et interval, eller du kan gøre det live. Sidstnævnte ville dog være et præstationshit, da beregningen af StatusPkey kunne blive dyr.