1 دقیقه میانگین مدت زمان مطالعه است

توسط کوئری زیر می‌توانید مواردی که در یک جدول بیشتر از یکبار تکرار شده‌اند را پیدا کنید.
ابتدا توسط Group By مواردی که می‌خواهیم تکراری بودن را بر روی آنها تست کنیم بدست می‌آوریم و سپس توسط Having شرط بیشتر از یک بار را بر روی آنها اعمال می‌کنیم

SELECT rr.MessageId,
       rr.GapId,
       rr.MessageType,
       COUNT(*) AS CountData
FROM dbo.RawMessage rr
GROUP BY rr.MessageId, rr.GapId, rr.MessageType
HAVING COUNT(*) > 1

حال اگر نیاز داشتید تا اطلاعات بیشتر این ستون‌ها را هم بدست آورید می‌توانید بصورت زیر عمل کنید:

SELECT r.Id,
       r.MessageId,
       r.GapId,
       r.EngineId,
       r.MessageType,
       CAST(r.DbEntryDateTime AS TIME) AS DbEntryTime
FROM (SELECT rr.MessageId,
             rr.GapId,
             rr.MessageType,
             COUNT(*) AS CountData
      FROM dbo.RawMessage rr
      GROUP BY rr.MessageId, rr.GapId, rr.MessageType
      HAVING COUNT(*) > 1) ii
         INNER JOIN dbo.RawMessage r
                    ON r.MessageId = ii.MessageId AND r.MessageType = ii.MessageType AND r.GapId = ii.GapId

تگ ها: , ,

دسته بندی ها:

به روز شده در: