View Full Version : دستور select
aleas2
چهارشنبه 15 خرداد 1392, 16:51 عصر
دوستان بنده میخوام select بنویسم که اطلاعات جدولی نمایش بده و شرطی بذارم که رکورد هایی که فیلد id تکراری هستن فقط یکیشو نمایش بده ! و اونایی هم که تکراری نیستن نمایش بده
کسی میتونه بگه چطور این دستور بنویسم؟
forestasphalt
چهارشنبه 15 خرداد 1392, 17:42 عصر
SELECT DISTINCT id,column_name
FROM table_name
چون 2 تا ستون دارید بازم سطرهای تکراری رو نشون میده(چون distinct میاید بر اساس کل فیلد ها انجام میده)
اگر توی خروجی بیش از 1 فیلد دارید باید از کد استفاده کنی
SELECT *
FROM (SELECT * , ROW_NUMBER()
OVER (PARTITION BY [SpecificColumnForDistinct] ORDER BY [ColumnForOrderBy]) AS RowID
FROM [Table_Name]
) AS dt
WHERE dt.RowID = 1
به جای SpecificColumnForDistinct نام فیلدی رو بنویسید که میخواهید تکراری نباشه
به جای ColumnForOrderBy هم نام فیلدی را برای مرتب کردن باید بنویسید
به جای Table_Name هم نام جدول را قرار بده.
این کد درسته که یکی از دوستان در تاپیک بیان نموده بودن
محمد سلیم آبادی
چهارشنبه 15 خرداد 1392, 23:19 عصر
الان کدوم دستور صحیح هست تو جدول بیش از 1000 رکورد و 10 تا ستون هست که میخوام بر اساس ستون id فیلد هایی که id تکراری نیستن نمایش بده اونایی هم که تکراری هستن فقط یکیشونو نمایش بده ضمنا" میخوام به ترتیب نشون بده
جواب پست قبلی درست است. آن را امتحان کنید. فقط همین.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.