حذف رکورد های تکراری بر اساس فقط یک فیلد
چطور مي توان ركوردهاي كه يك فيلد تكراري دارند را در خروجي يك دستور select حذف كرد ؟
لازم به توضيح است كه از group by نمي توان استفاده كرد چون به تمام فيلدهاي ركوردها نياز است، از Distinct هم نمي شود استفاده كرد چون ركوردهاي تكراريي را حذف مي كند كه تمام مقادير فيلدهايشان يكي باشد
نقل قول: حذف رکورد های تکراری بر اساس فقط یک فیلد
سلام
توی تاپیک C# هم بهتون جواب دادم
برای این منظور کوئری زیر پاسخ شماست
سلکت با distinct فقط روی یک ستونselect-distinct-on-one-column
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 هم نام جدول را قرار بده.
اون عدد 1 رو هم اصلا دست نزنید.
نقل قول: حذف رکورد های تکراری بر اساس فقط یک فیلد
POPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP