Пример 3 случайных строк, затем упорядочить их в алфавитном порядке по другому свойству - PullRequest
1 голос
/ 15 марта 2019

Мне просто интересно, смогу ли я получить три случайных результата, а затем упорядочить их по другому столбцу в алфавитном порядке.

Пример:

SELECT TOP(3)[Name] 
FROM Table 
ORDER BY NEWID()
¿ORDER BY [Surname]?

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 15 марта 2019

Не уверен, что пойму проблему на 100%, но с секундой ORDER BY он будет сортировать все отличительные ID.

Я сделал CTE для достижения этого результата.

WITH CTE AS
(
SELECT TOP(3)[Name] 
FROM Table 
ORDER BY NEWID()
)

SELECT *
FROM CTE
ORDER BY [Surname]
1 голос
/ 15 марта 2019

Иметь производную таблицу (подзапрос), в которой вы выбираете 3 случайные строки.ORDER BY его результат.

select [Name]
from
(
    SELECT TOP(3) [Name], [Surname]
    FROM Table 
    ORDER BY NEWID()
) dt
ORDER BY [Surname]
0 голосов
/ 15 марта 2019

вы можете попробовать это -

declare @name table
(Name varchar(20), SurName varchar(20))

insert into @name
values
('mukesh', 'arora'),
('amit', 'kumar'),
('Vijay', 'gupta'),
('jai', 'poddar'),
('vishal', 'sharma')

select Name from
( 
SELECT TOP(3)[Name] , [Surname]
FROM @name 
ORDER BY NEWID()
) a
ORDER BY [Surname]
0 голосов
/ 15 марта 2019

Вы можете попробовать это.

SELECT T.*
FROM
    (
    SELECT TOP(3)[Name], [Surname]
    FROM Table 
    ORDER BY NEWID()
    ) AS T
ORDER BY [Surname];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...