У нас есть таблица, в которой перечислены изображения png и их исходный URL.T-SQL удаляет дубликаты из таблицы?
Иногда таблица имеет строки с одинаковыми URL-адресами изображений, но с разными ширинами и высотами пикселей изображения. Я хочу удалить такие дубликаты, сохраняя только дубликат, который имеет самую большую ширину изображения, а затем большую высоту изображения.
Я пробовал различные методы, которые я использовал для использования в MSAccess (например, GroupBy и First, но First, например, недоступен в SQL Server, поэтому я подумал, что попрошу помочь в T-SQL).
Может кто-нибудь дать T-SQL, который удалит дубликаты (сохраняя наибольшую строку изображения каждого дубликата)?
CREATE TABLE [dbo].[tblImageSuggestions]
(
[CounterID] [bigint] IDENTITY(700996,1) NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[EmailAddress] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ImageOriginalURL] [nvarchar](2000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ImageOriginalWidthPixels] [int] NOT NULL,
[ImageOriginalHeightPixels] [int] NOT NULL,
CONSTRAINT [PK_tblImageSuggestions]
PRIMARY KEY CLUSTERED ([CounterID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON)
)
SET IDENTITY_INSERT [dbo].[tblImageSuggestions] ON
INSERT [dbo].[tblImageSuggestions] ([CounterID], [CreatedDateTime], [EmailAddress], [ImageOriginalURL], [ImageOriginalWidthPixels], [ImageOriginalHeightPixels])
VALUES (701030, CAST(0x0000A6AD0005543F AS DateTime), N'[email protected]', N'MyURL1', 1024, 1024)
INSERT [dbo].[tblImageSuggestions] ([CounterID], [CreatedDateTime], [EmailAddress], [ImageOriginalURL], [ImageOriginalWidthPixels], [ImageOriginalHeightPixels])
VALUES (701031, CAST(0x0000A6AD00055445 AS DateTime), N'[email protected]', N'MyURL2', 450, 450)
INSERT [dbo].[tblImageSuggestions] ([CounterID], [CreatedDateTime], [EmailAddress], [ImageOriginalURL], [ImageOriginalWidthPixels], [ImageOriginalHeightPixels])
VALUES (701032, CAST(0x0000A6AD00055489 AS DateTime), N'[email protected]', N'MyURL3', 3000, 3000)
INSERT [dbo].[tblImageSuggestions] ([CounterID], [CreatedDateTime], [EmailAddress], [ImageOriginalURL], [ImageOriginalWidthPixels], [ImageOriginalHeightPixels])
VALUES (701033, CAST(0x0000A6AD00055768 AS DateTime), N'[email protected]', N'MyURL2', 1024, 1024)
INSERT [dbo].[tblImageSuggestions] ([CounterID], [CreatedDateTime], [EmailAddress], [ImageOriginalURL], [ImageOriginalWidthPixels], [ImageOriginalHeightPixels])
VALUES (701034, CAST(0x0000A6AD00055771 AS DateTime), N'[email protected]', N'MyURL1', 450, 450)
INSERT [dbo].[tblImageSuggestions] ([CounterID], [CreatedDateTime], [EmailAddress], [ImageOriginalURL], [ImageOriginalWidthPixels], [ImageOriginalHeightPixels])
VALUES (701035, CAST(0x0000A6AD0005577A AS DateTime), N'[email protected]', N'MyURL4', 768, 768)
SET IDENTITY_INSERT [dbo].[tblImageSuggestions] OFF
Можете ли вы показать нам, что у вас есть до сих пор, насколько не-рабочий код? Нам нужно увидеть ваш подход, чтобы рассказать вам, где вам может понадобиться помощь. Предоставление простых определений таблиц и запрос на решение на самом деле не соответствуют тому, как задавать вопрос о SO. – user2366842
, если у вас есть связанные данные или таблица с этой таблицей, вы должны сначала исследовать ее. что может ухудшить вашу проблему. – Beginner