Мы работаем над Spark SQL. Мы делаем ранжирование, используя некоторые пустые строковые поля.
Проблема в том, что в Spark SQL значения null
стоят на первом месте в рейтинге. Но мы хотим, чтобы значение null
пришло в конце. Итак, мы применили логику CASE WHEN. Поскольку у нас есть данные Unicode, "ZZZZZZZZ" не придет в конце. Это будет впереди японских, китайских адресных линий.
Пожалуйста, дайте нам знать, какой строковый константный литерал использовать для нулевых строковых значений, чтобы они заканчивались в случае ORDER BY.
Я поместил пример кода ниже.
SELECT CompanyName,
ROW_NUMBER() OVER
(
PARTITION BY O.CompanyName
ORDER BY
CASE WHEN AddressLine1 IS NOT NULL THEN AddressLine1 ELSE "ZZZZZZZZ" END ASC
) AS BestDataForCompany
FROM CompanyData