Rekordok véletlen sorrendben

A kollégák megjegyezték, hogy időnként túl hosszúak a blog bejegyzéseim, ezért íme egy rövid (csak az ő kedvükért). A feladvány:

Adott egy Numbers tábla, benne egy ID nevű int típusú mező. Hogyan lehet T-SQL-ben legegyszerűbben a) visszakérni a rekordokat véletlenszerű sorrendben és b) véletlenszerűen kiválasztani egy rekordot?

Egy lehetséges működő megoldás az a) kérdésre:

    SELECT ID FROM Numbers ORDER BY NewID()

A b)-re pedig mindenki tudja innentől a választ, hiszen az csak egy TOP 1-gyel több. És hogy mi történik a háttérben, azt persze megtudhatjuk a végrehajtási tervből:

 

Technorati tags:
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s