1

ID、名前、およびレベル列を持つテーブルがあります。このパターンでテーブルのレコードを選択したい: 最初にそれらをランダムに選択し、次にそれらのランダムなレコードをレベル列で並べ替えます。

例:私のサンプルテーブルとレコード:

ID      name         Level
--------------------------------- 
1      red-book         1
2      blue-pen         10
3      black-board      12
4      balck-Book       1
5      white-book       1
6      red-pen          10
7      green-pen        10

結果は次のようになります。

ID            name             level
------------------------------------------
3             black-board      12
6             red-pen          10
2             blue-pen         10
7             green-pen        10
4             balck-Book       1
1             red-book         1
5             white-book       1

私も使った

 SELECT * FROM MyTable ORDER BY NEWID(),Level DESC

 SELECT * FROM 
 (SELECT * FROM MyTable ORDERBY NEWID())As TempTbl 
 ORDER BY Level DESC

 CREATE TABLE #MyTempTable (ID INT,name Nvarchar(256),Levels INT)

 INSERT INTO #MyTempTable SELECT * FROM MyTable ORDER BY NEWID()

 SELECT * FROM #MyTempTable ORDER BY Levels DESC
4

1 に答える 1

2
SELECT ID,name,level
FROM sample
ORDER BY level DESC,NEWID()
于 2013-09-25T12:03:51.810 に答える