Вот один из способов сделать это с помощью трюка объединения / ограничения:
(SELECT * FROM watermark WHERE client IS NULL)
UNION ALL
(SELECT * FROM watermark WHERE client = 'client1')
ORDER BY client DESC
LIMIT 1
Этот трюк работает, генерируя промежуточный набор результатов, содержащий пустую строку клиента, а также, возможно, соответствующую запись клиента , Мы сортируем по убыванию по клиенту, чтобы переместить нулевую строку во вторую позицию, если найден соответствующий клиент. Если совпадений не найдено, мы просто возвращаем пустую строку по умолчанию.