Guest User

Untitled

a guest
Jul 10th, 2020
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.14 KB | None | 0 0
  1. BEGIN
  2.     DROP TABLE IF EXISTS tmp, tmp2, tmp3;
  3.  
  4.     CREATE TEMPORARY TABLE tmp (KEY (similarity))
  5.         SELECT
  6.             id, similarity
  7.         FROM (
  8.             SELECT
  9.                 id,
  10.                 PHRASE_SIMILARITY(pure_phrase, question) AS similarity
  11.             FROM
  12.                 phrases_ids
  13.         ) AS t
  14.         WHERE
  15.             similarity >= trashold;
  16.  
  17.     CREATE TEMPORARY TABLE tmp2 (KEY (similarity))
  18.     SELECT
  19.         *
  20.     FROM
  21.         tmp;
  22.  
  23.  
  24.     SELECT
  25.         GROUP_CONCAT(phrases.id SEPARATOR '$SEP;') AS answers,
  26.         tmp3.id AS q_id
  27.     FROM
  28.         phrases_ids AS phrases,
  29.         (
  30.             SELECT
  31.                 id
  32.             FROM
  33.                 tmp
  34.             WHERE (
  35.                 similarity = (
  36.                     SELECT
  37.                         MAX(similarity)
  38.                     FROM
  39.                         tmp2
  40.                 )
  41.             )
  42.         ) AS tmp3
  43.     WHERE
  44.         phrases.id IN (
  45.             SELECT
  46.                 answer_id
  47.             FROM
  48.                 question_answer
  49.             WHERE
  50.                 question_id = tmp3.id
  51.         );
  52.  
  53. END
Advertisement
Add Comment
Please, Sign In to add comment