Fråga : splittring ror i en bordlägga in i grupper som baseras på kriterier

hi Gurus,

i har en bordlägga som nedanför. alla jag behöver att dela datan i bordlägga in i 5 grupper för ror lika med status='F, och tilldela inte mer än 200 ror per gruppen, även om jag kan ha mer, än 1000 ror med status = ' F, som jag behöver endast att hämta 1000 i sänder. också grupperna bör skapas, om endast den sammanlagda nr.en av ror med status= " F " överskrider 40 endast, och på några givna tid och dem inte bör hämta mer, än 1000 ror. , om också bordlägga har endast något att säga 100, ror med status F, därefter som jag behöver att ha 5 grupper med 20 ror tack för each.
i förskott för din hjälp.
since som denna är den akut I-förmiddagen som tilldelar 500, pekar till it.

table A:

thanks
för
status för

filename varchar (35) varchar (15) " klar "

Svar : splittring ror i en bordlägga in i grupper som baseras på kriterier

jag hade redan givit queryen som tar omsorg av > 40 och status = ' F och rekord <� 1001="">
Nedanför är den ntile queryen för samma som kan ta omsorg allra trena över.

vald filename, status som är ntile (5) över (beställa vid filename), mygroup
från (
välj från mytable var status='F
och (välj räkningen (*) från mytable var status='F') >40 och rownumen <� 1001="">)
beställa vid mygroup;

Funderare I vi behöver inte den nedanföra queryen, som du kan lätt göra den med NTILE fungerar…, Förmiddag som I precis här ger den ändrade versionen som väl.

välj filenamen, status, mygroup +1 för ändring (rr, 5) från
(
välj filenamen, status, rownumen rr från mytable
var status = ' F
och (välj räkningen (*) från mytable var status='F') >40
)
var rr- <� 1001="">orer vid mygroup;

Tack,
Andra lösningar  
 
programming4us programming4us