Witam,
Potrzebuje stworzyć zapytanie, które z tabeli zawierającej nazwy komputerów rozmieszczonych w różnych site'ach AD wybierze losowo po 5 komputerów z każdego site'a.
Bardzo proszę o pomoc, gdyż nie mogę wymyślić nic sensownego.
0
0
Pierwszy wynik w google po wpisaniu: "MSSQL rand record": http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql
0
Witam,
może coś w ten deseń:
Select * From
(
SELECT CL.ComputerID, CL.Name,
ROW_NUMBER() OVER( ORDER BY CL.ComputerID) AS Pozycja
FROM ActiveDirectory.ComputersList CL
) a
Where a.Pozycja = CONVERT(INT, 10 * RAND())
Dodać do tego, 5 wyników i ograniczyć losową liczbę do max liczby compów w AD i powinno być git.
Edit: @Juhas był szybszy :D I w sumie podał link do bardziej eleganckiego rozwiązania :)
0
@Juhas
Nie wiem czy się dobrze zrozumieliśmy.
Moja tabela zawiera dwa pola: "Nazwa komputera" i "Site AD"
Rekordów jest powiedzmy 15k. W polu SITE AD jest ok 20 unikatowych warotści.
Potrzebuje zapytanie, które wybierze z tabeli po 10 komputerów, kazdego site'a.
0
Aha. Ciekawy problem. Nie mam teraz pod ręką SQLa, ale rzuca mi się od razu grupowanie. Może coś pod tym kątem.
2
SELECT
sitead
,nazwakomputera
FROM (
select
row_number() over(partition by sitead order by newid()) r,
sitead
,nazwakomputera
from
tabela) as dt
WHERE
r < 11
0
@Panczo
Wielkie dzięki - działa