The response by @user1063280 assumes that you want a single row from the table. Your question read to me more like you wanted to first relevant row for each model in the table. If that's what you want, the below query should achieve your goal:
DECLARE @Cars TABLE
(
ID int IDENTITY,
CreditFlag bit,
PrivateOfferFlag bit,
ModelName varchar(3),
CashBack numeric(19,2),
BonusCash numeric(19,2),
TotalSavings AS CashBack + BonusCash
);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 1, 'AAA', 750, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 1, 'BBB', 750, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 1, 'CCC', 2500, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (1, 1, 'DDD', 750, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 0, 'AAA', 1500, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 0, 'BBB', 2000, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (1, 0, 'CCC', 3000, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 0, 'DDD', 3000, 750);
INSERT INTO @Cars (CreditFlag, PrivateOfferFlag, ModelName, CashBack, BonusCash) VALUES (0, 1, 'AAA', 750, 750);
SELECT
*
FROM @Cars c1
WHERE ID =
(
SELECT
TOP 1 ID
FROM @Cars c2
WHERE c2.ModelName = c1.ModelName
AND c2.CreditFlag = 1
AND c2.PrivateOfferFlag = 1
AND c2.CashBack > 0
AND c2.BonusCash > 0
ORDER BY ID
);
You are able to provide any filtration you'd like in the sub-query, and you can specify any ordering you'd like. I added an ID column and just picked the first such column. You could be more sophisticated and sort descending by TotalSavings, for example.