LoginSignup
1
1

More than 5 years have passed since last update.

BigQueryでスペース区切りのキーワードの語順を揃える方法

Posted at

#standardSQL

"aa bb" と "bb aa" を同じものとみなしたい
上記のテキストが検索キーワードで、語順を無視して集計したいときとか
(語順がそこまで重要でない検索のログ集計とか)

#standardSQL

CREATE TEMPORARY FUNCTION 
  SPLIT_SORT(str STRING)
    RETURNS STRING AS ((
      SELECT ARRAY_TO_STRING(ARRAY_AGG(kw), " ")
          FROM (
            SELECT
              kw 
            FROM 
              UNNEST(SPLIT(str, " ")) AS kw 
             ORDER BY
              kw ASC
                  )
));


WITH
  a AS (
  SELECT
    ["a a", "a aa", "aa a", "a aa aaa"] as aa
  )

SELECT
  aaa,
  SPLIT_SORT(aaa) as sort_aaa
 FROM
  a,UNNEST(aa) aaa

SPLIT_SORT という関数がそれ

この記事を参考にさせていただきました
https://qiita.com/shiozaki/items/11aca34553e5e60abf19

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1