Предполагая, что ваша база данных не нормализована, вот как я бы продолжил: выберите все из таблицы, добавьте самосоединение, чтобы увидеть, есть ли у пары (штат, округ) город с именем 'Линкольн' и отсортируйте его первым.
SELECT t1.*, (t2.state IS NOT NULL) AS has_lincoln
FROM myInfo t1
LEFT JOIN myInfo t2 ON (t2.state, t2.county, t2.city)
= (t1.state, t1.county, 'Lincoln')
ORDER BY t1.state, has_lincoln DESC, t1.county, t1.city
Если по какой-либо причине в вашей базе данных есть несколько городов с именем «Линкольн» с одной и той же парой (штат, округ), добавьте DISTINCT
к смеси. Или еще лучше, убедитесь, что в вашей базе данных нет повторяющихся строк, добавив ключ UNIQUE
на (state, county, city)