2012-09-26 4 views
0

SQL Server 2008/2005 테이블에서 뚜렷한 행과 무작위 행을 선택하는 방법은 무엇입니까?SQL Server : Distinct + random rows

은 내가 무작위로을 몇 가지 팁 을 선택해야되는 팁의 목록을 가지고 있고 그들도 독특한해야합니다.

내가 시도 :
항목 BY ORDER이 선택 목록 경우에 표시되어야합니다 1 호선,

Select 
    Distinct Tips 
From 
    jfpastrologytips 
Where 
    GetDate() <= validtill 
Order by 
    NewId() 

을 예외

메시지 145, 수준 15, 상태 1로 의뢰되었다 SELECT DISTINCT가 지정됩니다.

답변

10

당신은 단지 그들 중 하나를 선택하는 경우 구분이 필요하지 않습니다,이 시도 GROUP BY를 사용하는 대신 DISTINCT

Select Tips 
From jfpastrologytips 
Where GetDate() <= validtill 
GROUP BY Tips 
Order by NewId() 
+0

을 !!!!, 그것은 효과가 있었다. Thaxs –

+0

나는 또한 이것에'TOP N'을 추가 할 것입니다. 여러분은 단지 몇 줄을 원하고 몇 줄을 선택한다고 말합니다. –

0

에 의해이 문제를 해결 얻을 수 있습니다 : 예

Select top 1 Tips 
From jfpastrologytips 
Where GetDate() <= validtill 
Order by NewId() 
+0

질문에 언급 된 사람이 하나도 없습니까? –

+0

여러 팁을 선택할 수 있는데, 맨 위 (1)는 단 하나의 행만 선택할 수 있습니다. –

+1

이제 보니 저에게 맞는 제목이었습니다. 행은 단수였습니다. – Hogan