Size: a a a

2020 July 27

РГ

Руслан Горбатюк... in MySQL
Там суть с разных таблиц выбрать данные по тестам, потом выбрать из них лучшие попытки, потом если если данные попытки совпадают выбрать по последней дате, попыток может быть неограниченное количество.
источник

MF

Max Fetcher in MySQL
Ilia Zviagin
Про мастер-мастер ничего сказать не могу, кроме того, что это ересь...
А в мастер-слэйв при отказе мастера, можно как-то обойтись без ручной смены мастера?
источник

РГ

Руслан Горбатюк... in MySQL
Ilia Zviagin
Для начала -- у тебя запрос неправильный.

Мало полей в GROUP BY.
Включи режим ANSI GROUP BY и отлаживай.
Но насколько я понял в MySQL допускается в group by указывать не все поля.
источник

РГ

Руслан Горбатюк... in MySQL
Даже все работает , но слишком долго. Да и мне самому не нравится нагромождение подзапросов. Вот и спросил может у кого есть более красивое решение.
источник

IZ

Ilia Zviagin in MySQL
Руслан Горбатюк
Отформатировал код, за замечания и критику спасибо.
Тут тоже видимо ошибка.


and qza.sumgrades IN
   (SELECT
   max(qzaS.sumgrades)
     FROM prefix_user  as uS
     JOIN prefix_user_info_data as uiaS ON uS.id = uiaS.userid and uiaS.fieldid =1
     JOIN prefix_user_info_data as uia2S ON uS.id = uia2S.userid and uia2S.fieldid =3
     JOIN prefix_question_attempt_steps as qasS ON uS.id = qasS.userid
     JOIN prefix_question_attempts as qaS ON qasS.questionattemptid = qaS.id
     JOIN prefix_quiz_attempts as qzaS ON qzaS.uniqueid = qaS.questionusageid
     JOIN prefix_quiz as qzS ON qzS.id = qzaS.quiz
     JOIN prefix_grade_items as giS ON giS.itemname =  qzS.name  and giS.id  NOT IN (29)
          WHERE qasS.state LIKE 'grade%' and uS.suspended =0 and uS.id =u.id
     group by uS.lastname, qzS.name
    )

зачем тут GROUP BY ? Он либо не нужен, либо одно из двух.
источник

IZ

Ilia Zviagin in MySQL
Руслан Горбатюк
Отформатировал код, за замечания и критику спасибо.
Так что ускорение пока тут ни при чём, сначала надо переписать правильно.
источник

IZ

Ilia Zviagin in MySQL
Max Fetcher
А в мастер-слэйв при отказе мастера, можно как-то обойтись без ручной смены мастера?
@acromegale спрашивай.
источник

IZ

Ilia Zviagin in MySQL
Руслан Горбатюк
Но насколько я понял в MySQL допускается в group by указывать не все поля.
Ты понял правильно.
Но это не значит, что ЕСЛИ ты не укажешь все поля, запрос будет верным.
источник

IZ

Ilia Zviagin in MySQL
Руслан Горбатюк
Даже все работает , но слишком долго. Да и мне самому не нравится нагромождение подзапросов. Вот и спросил может у кого есть более красивое решение.
В нагромождении подзапросов ничего плохого нет.
источник

РГ

Руслан Горбатюк... in MySQL
Ilia Zviagin
Ты понял правильно.
Но это не значит, что ЕСЛИ ты не укажешь все поля, запрос будет верным.
Это интересное замечание спасибо
источник

IZ

Ilia Zviagin in MySQL
Руслан Горбатюк
Это интересное замечание спасибо
Включи лучше режим ANSI GROUP BY или STRICT GROUP BY , как его там...
источник

РГ

Руслан Горбатюк... in MySQL
Да сделаю копию с рабочей базы и буду пробовать. Просто прочитал про ранжирование думал будет по быстрее и оптимальнее.
источник

IZ

Ilia Zviagin in MySQL
Руслан Горбатюк
Да сделаю копию с рабочей базы и буду пробовать. Просто прочитал про ранжирование думал будет по быстрее и оптимальнее.
Что за ранжирование?
источник

РГ

Руслан Горбатюк... in MySQL
источник

РГ

Руслан Горбатюк... in MySQL
Хотел присвоить рейтинг  результатам тестирования и по нему делать нужные выборки.
источник

РГ

Руслан Горбатюк... in MySQL
Но пока это только мысли, как реализовать не очень понимаю.
источник

IZ

Ilia Zviagin in MySQL
Блять, это охеренное дерьмо, не делай так
источник

РГ

Руслан Горбатюк... in MySQL
А почему это плохая идея?
источник

MR

Muzaffar Rasulov in MySQL
всем здарово! ребят подскажите плийз как вывести количество уникальных записей по дням?
делал вот такую но это дает количеству всех записей по дням
SELECT
 COUNT(l.id),
 DATE(l.cur_date_time) mydate
FROM locations l
GROUP BY mydate ORDER BY mydate DESC
источник

MR

Muzaffar Rasulov in MySQL
вот результат
count | mydate
126    | 27.07.2020
40      | 26.07.2020
54      | 25.07.2020
источник