This is what I came up with, but it takes a very long time to run the query. Does anyone have any suggestions for a faster way to accomplish this.
Code:
DELETE *
FROM tracking_number_history
WHERE id NOT IN (SELECT min_id
FROM (SELECT Min(id) AS min_id,
client_code,
carrier_code,
tracking_number,
invoice_number,
account_number,
freight_charges,
invoice_date,
transaction_date,
pickup_record_number,
receiver_name,
receiver_company_name,
receiver_address_line_1,
receiver_address_line_2,
receiver_city,
receiver_state,
receiver_postal,
receiver_country_territory
FROM tracking_number_history
GROUP BY client_code,
carrier_code,
tracking_number,
invoice_number,
account_number,
freight_charges,
invoice_date,
transaction_date,
pickup_record_number,
receiver_name,
receiver_company_name,
receiver_address_line_1,
receiver_address_line_2,
receiver_city,
receiver_state,
receiver_postal,
receiver_country_territory));