Работа с база данни в C#
Здравейте можете ли да ми кажете как мога да взимам записи от базата на random принцип ?
Здравейте можете ли да ми кажете как мога да взимам записи от базата на random принцип ?
Можеш да го направиш със SQL Server използвайки NEWID(). Функцията създава уникален индентификатор всеки път, когато се извика.
SELECT TOP 30 PERCENT *
FROM [Test].[dbo].[Customers]
ORDER BY NEWID()
WITH Custom_Order AS
(SELECT TOP 30 PERCENT
[Cust_ID] --MAKE SURE IT IS PRIMARY KEY
FROM [Test].[dbo].[Customers]
ORDER BY NEWID()
)
SELECT *
FROM [Test].[dbo].[Customers] AS c
INNER JOIN Custom_Order AS co
ON c.Cust_ID = co.Cust_ID
Последната заявка работи добре с големи таблици. По оптимизирано е, заради това, че изивква само 1 колона в първата заявка.
Благодаря.