Autor Zpráva
patricek
Profil
Dobrý den,

po delší době jsem si aktualizoval MAMP a nestačil jsem se divit :-)

mám problém s only_full_group_by, vím že se to dá vypnout, což asi ale nebude nejlepší řešení...

Nějak se mě to nedaří pochopit, prolezl jsem toho už tunu na netu zkoušel jsem i ANY_VALUE apod, ale pořád se nedaří...

Může prosím někdo zkusit pomoct ? Moc bych to ocenil...

Mám následující příkaz

SELECT m.id,t.movie_id,m.original_title,m.poster_path,date_format(m.release_date,'%Y') as rok,m.rate, MATCH (t.title) AGAINST ('men' IN BOOLEAN MODE) as rank FROM movie_alt_title t join movie m on t.movie_id = m.id WHERE MATCH (t.title) AGAINST ('men' IN BOOLEAN MODE) GROUP BY m.id ORDER BY MATCH (t.title) AGAINST ('men' IN BOOLEAN MODE) DESC, rank DESC LIMIT 50;

Chyba následující:

Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'rikmovie.t.title' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Byl bych moc rád, za nasměrování, proč, už mám chuť rozmlátit vše kolem sebe, ale to bych nerad :D

Díky moc !

Patrik
Kajman
Profil
Zkuste např. seskupit výsledky hledání v alt_title a ty teprve připojit.

SELECT m.id,
       x.movie_id,
       m.original_title,
       m.poster_path,
       Date_format(m.release_date,'%Y') AS rok,
       m.rate,
       x.rank
FROM   (
                SELECT   t.movie_id,
                         Count(*)                                             pocet,
                         max(MATCH (t.title) against ('men' IN boolean mode)) rank
                FROM     movie_alt_title t
                WHERE    MATCH (t.title) against ('men' IN boolean mode)
                GROUP BY t.movie_id
                ORDER BY rank DESC,
                         pocet DESC,
                         t.movie_id
                LIMIT    50 ) x
JOIN   movie m
ON     x.movie_id = m.id
ORDER BY x.rank DESC,
         x.pocet DESC,
         x.movie_id
patricek
Profil
Děkuji moc,

pomohlo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0