PDA

View Full Version : انتخاب رکورد های تصادفی در Sql



mahdi87_gh
جمعه 26 تیر 1388, 12:17 عصر
سلام

من یه جدول دارم که شامل ستون های ID و ... هستش. من میخوام سه رکورد از این جدول بطور تصادفی انتخاب بشه و برگردونده بشه به برنامه C# .برای این کار اول باید تعداد رکوردهای جدول محاسبه بشه( Select Count(*) این کارو می کنه) و بعدش سه عدد تصادفی انتخاب بشه .مثلا 11و47و23. حالا می خوام11و47و23امین رکورد از جدول خونده بشه . من این مراحل رو میتونم جدا جدا توی سی شارپ انجام بدم.یعنی اول با یه command تعداد رو بگیرم و اعداد تصادفی رو توی C# بدست بیارو و بعدش با سه command دیگه بقیه رو بگیرم. می خواستم بدونم آیا راهی هستش که همه این کارهارو توی خود sql انجام داد و سه رکورد نهایی رو فقط به C# برگردوند؟

فیلد ID رو Identity گرفتم

Reza_Yarahmadi
جمعه 26 تیر 1388, 17:21 عصر
دستور زیر رو به عنوان کوئری به کار ببر:

SELECT TOP 3 * FROM YourTableName ORDER BY NEWID()

majid325
جمعه 26 تیر 1388, 17:32 عصر
مشکل کد بالا اینه که تکراری هم بر میگردونه ، لینک زیر کمکتون میکنه :
Multiple Random Records w/Single Select (http://www.sqlteam.com/article/multiple-random-records-w-single-select)

raziee
جمعه 26 تیر 1388, 19:50 عصر
به این لینک (http://barnamenevis.org/forum/showthread.php?t=164577)هم سری بزنید

shobeirF
چهارشنبه 20 دی 1391, 23:05 عصر
سلام خدمت همه ی دوستان ! من با این انتخاب تصادفی مشکل دارم !

تو asp.net زمانی که میریزمش تو ی query اشکال می گیره !



Dim cn As OleDbConnection
cn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\vb2010\web\hop\hop\App_Data\hop.accdb;Pe rsist Security Info=True")
Dim cm2 As OleDbCommand
Dim rd As OleDbDataReader


cm2 = New OleDbCommand("SELECT * FROM Hop ORDER BY rand() ", cn)

cn.Open()

rd = cm2.ExecuteReader()
Repeater1.DataSource = rd
Repeater1.DataBind()

cn.Close()


لطفا راهنمایم کنید