Size: a a a

2020 July 10

AS

Arsen Sultanov in ru_mysql
как понять выкинул?
источник

M

Mb1W@ in ru_mysql
Я бы добавил бы DEPARTMENTID поле в SALARY и не использовал бы PERSON таблицу в подзапросе.
источник

M

Mb1W@ in ru_mysql
Запрос был бы быстрее. Но у вас же не стоит задача сделать молниеносный запрос.
А то, что я дал - просто работает. :)
источник

AS

Arsen Sultanov in ru_mysql
подожди а в подзапросе делаешь  к 3 таблицам?
источник

AS

Arsen Sultanov in ru_mysql
я просто не сильно sql, спасибо огромное)
источник

M

Mb1W@ in ru_mysql
Извини, надо бежать на работу.
Если еще будут вопросы - отвечу попозже.
источник

ЛХ

Лапки Х in ru_mysql
Есть таблица

String  5
String1 5
String2 3


Надо взять stringN по максимальному числу. MAX() возвращает только String, как получить и String и String1?
источник

А

Александр in ru_mysql
SELECT *
FROM tbl
WHERE col_str = (SELECT MAX(col_num) FROM tbl)
источник

ЛХ

Лапки Х in ru_mysql
Александр
SELECT *
FROM tbl
WHERE col_str = (SELECT MAX(col_num) FROM tbl)
у меня tbl генерируется в другом select
источник

А

Александр in ru_mysql
Лапки Х
у меня tbl генерируется в другом select
не понял, покажите код
источник

ЛХ

Лапки Х in ru_mysql
Александр
не понял, покажите код
Этот код делает выборку и дает мне таблицу c колонками
pharse и similarity, где similarity >= 0.1
теперь мне нужно выбрать phrase с максимальным значением similarity, при том если их будет несколько одинаковых, то вернуть надо оба.

Пытаюсь разобраться в корректном использовании MAX
источник

А

Александр in ru_mysql
а версия 8 ?
источник

ЛХ

Лапки Х in ru_mysql
Александр
а версия 8 ?
5.7.16-10
источник

А

Александр in ru_mysql
можно текстом запрос мне скинуть
источник

А

Александр in ru_mysql
((( печально, так бы всё решилось 1м запросом с аналитической функцией
источник

ЛХ

Лапки Х in ru_mysql
Александр
можно текстом запрос мне скинуть
SELECT
   SIMIlAR_PHRASES.phrase,
   SIMIlAR_PHRASES.similarity
FROM (
   SELECT
       phrases_ids.phrase,
       PHRASE_SIMILARITY(phrases_ids.pure_phrase, "тест") AS similarity
   FROM
       phrases_ids
) AS SIMIlAR_PHRASES
WHERE (
   SIMIlAR_PHRASES.similarity >= 0.1
)
источник

ЛХ

Лапки Х in ru_mysql
Александр
((( печально, так бы всё решилось 1м запросом с аналитической функцией
какой?
источник

А

Александр in ru_mysql
DROP TABLE IF EXISTS tmp, tmp2
;
CREATE TEMPORARY TABLE tmp (KEY (similarity))
SELECT phrase, similarity
FROM (
   SELECT phrase
   , PHRASE_SIMILARITY(pure_phrase, "тест") AS similarity
   FROM phrases_ids
) t
WHERE similarity >= 0.1
;
CREATE TEMPORARY TABLE tmp2 (KEY (similarity)) SELECT * FROM tmp;
SELECT *
FROM tmp
WHERE similarity = (SELECT MAX(similarity) FROM tmp2)
;
источник

А

Александр in ru_mysql
А вот так для 8ки:
WITH t AS (
   SELECT phrase
   , PHRASE_SIMILARITY(phrases_ids.pure_phrase, "тест") AS similarity
   FROM phrases_ids
)
, t2 AS (
   SELECT phrase, similarity
   , MAX(similarity) OVER () max_similarity
   WHERE similarity >= 0.1
)
SELECT * FROM t2 WHERE max_similarity = similarity
источник

ЛХ

Лапки Х in ru_mysql
вау
источник