Question
In MySQL to match '12684041234' to the longest prefix you would do
SELECT num_prefix
FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix, '%')
AND LENGTH(num_prefix) = (
SELECT MAX(LENGTH(num_prefix))
FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix, '%')
)
Table nums
has a column named num_prefix
with prefix values.
How can I do it in hive ?
Solution
This is how I do it in MySQL:
SELECT num_prefix FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix,'%')
ORDER BY num_prefix DESC
LIMIT 1
;
This will give the longest prefix (ORDER BY .. DESC
) and only one row (LIMIT 1
).
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow