2

MySQL で '12684041234' を最長のプレフィックスに一致させるには

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, '%')
)

テーブルには、プレフィックス値で名前がnums付けられた列があります。num_prefix

どうすればハイブでそれを行うことができますか?

4

1 に答える 1

7

これは私がMySQLで行う方法です:

SELECT num_prefix FROM nums
  WHERE '12684041234' LIKE CONCAT(num_prefix,'%')
  ORDER BY num_prefix DESC
  LIMIT 1
;

これにより、最長の接頭辞 ( ORDER BY .. DESC) と 1 行のみ( ) が得られLIMIT 1ます。

于 2011-04-13T13:11:44.313 に答える