@Inactive User when you mention 'City should be the same' - what are you referencing, i.e. same as what? I'm not sure what you're trying to achieve as, in the example you have provided, you say that you should remove all 6 rows, which would leave you with nothing. Surely in your real data of 50,000 rows, you also have different cities, and so if you remove all of them you'll also be left with nothing? Can you provide a little more detail around the logic of the comparison?
Is your criteria fixed? Or does it come from another field?
If it's fixed, i.e. you just want to keep rows where the target field isn't 'A', then you could just use a filter with:
[Target field] != 'A'
Where your 'Target field' is the column you're checking for a match.
If it's dynamically coming from another field then you could also use a filter like so:
[Checking field] != [Criteria]
Where 'Checking field' is the column you want to check, and 'Criteria' is the field you are comparing it against. As you're using !=, the outcome you're looking for will come out of the top (True) anchor of the filter.