Задать вопрос
  • Как сделать метод деления пополам?

    @Akina
    Метод половинного деления предназначен только для случаев, когда в исследуемом диапазоне имеется строго один корень. Если их несколько, диапазон следует раздробить (например, сканированием с неким шагом), а в каждом выполнять поиск независимо.

    Общего алгоритма сканирования/дробления нет...

    Теоретически МПД даже может не обнаружить факта наличия нескольких корней - например, если все корни, кроме одного, находятся в первой половине диапазона.
  • Как конвертировать уже существующие записи в другую кодировку?

    @Akina
    AgentSmith72, Если его решение не совпадает с опубликованным, будет хорошо его привести.. и уж совсем отлично - если с объяснением, почему именно так.
  • Как конвертировать уже существующие записи в другую кодировку?

    @Akina
    AgentSmith72, значит, была проблема отображения данных в правильной кодировке, а не проблема кодировки самих данных. В таком случае конвертировать можно было непосредственно в запросе. Более того, и в запросе необязательно, если правильно настроить кодировку ответа (@@ character_set_results).
  • Почему может не работать запрос INTERSECT в MySQL?

    @Akina
    что же пришло на замену?

    С чего бы нужна была замена нестандартизированному средству?

    Если надо - есть WHERE NOT EXISTS или просто NATURAL INNER JOIN.
  • Как отсортировать массив?

    @Akina
    nata32, ну вроде бы русским по белому просил проконтролировать работоспособность... вот Вы правда думаете, что запросы с отрезанным CREATE TABLE без завершающей точки с запятой будут нормально выполнены?

    не поняла INSERT чего ?

    Данных. Значений, вставляемых в таблицы, чтобы на них можно было проверить работу запроса и убедиться, что результат соответствует требуемому.

    к сожалению не знаю что это такое

    https://dbfiddle.uk/
    https://sqlize.online/
    и т.п.

    Для Вашей версии СУБД - https://dbfiddle.uk/JPEWNvHZ
    Fiddle с Вашими структурами и примером наполнения - https://dbfiddle.uk/d0g9y-My

    выше вроде все объяснено, что как и почему или что то конкретно не понятно по вводным данным и получению результата

    Их просто нет - ни исходных данных, ни требуемого результата в формате выходного набора MySQL. То, что есть, неприменимо для серьёзной работы.
  • Как сделать проверку на заполнение столбцов в базе данных mysql и если они пустые (то заполнить), если не пустые то обновить?

    @Akina
    если они пустые (то заполнить), если не пустые то обновить

    Что-то [censored] какая-то формулировка. Получается, что в любом случае нужно изменить текущее значение на новое - а коли так, то какая разница, пустым было старое значение или нет? "Заполнить" и "обновить" - это абсолютно одна и та же операция обновления, выполняемая запросом UPDATE.

    если не пустые то обновить

    Запрос, который проверяет наличие записи, использует для проверки некие значения. Запрос UPDATE, который в случае существования записи должен обновлять, использует те же значения. То есть, для найденной записи он ничего не обновляет (кроме автополя штампа времени, если такое имеется).

    Если исходить из показанного PHP-кода, то надо просто создать соотв. уникальный индекс и использовать INSERT IGNORE.

    $query = 'UPDATE `walets` SET BNB="'.$BNB.'",BUSD="'.$BUSD.'",TRX="'.$TRX.'",USDT="'.$USDT.'"';

    Вот тоже бред... этот запрос обновит ВСЕ записи таблицы, и во все их запишет указанные значения. То есть убьёт все данные.
  • Как исправить ошибку 1366 Incorrect string value?

    @Akina
    а менять collation на продуктивном сервере это безопасно?

    Изменение атрибута COLLATE поля повлияет на выполнение любых запросов, связанных с обработкой этого поля (сравнения, явные в выражениях и неявные при работе встроенных функций). Как это отразится на работе сервера и его приложений, мы предсказать не в состоянии.

    Но вообще-то речь шла об изменении не COLLATE поля, а о CHARACTER SET. Это гораздо более критичная операция, она повлияет на работу с этим полем гарантированно и весьма серьёзно.

    Гораздо разумнее выполнять преобразование в нужную кодировку передаваемого параметра прямо в тексте запроса INSERT/UPDATE, с помощью функции CONVERT().
  • Как отсортировать массив?

    @Akina
    Если Вы хотите получить требуемый результат непосредственно в запросе, то совершенно непонятно, что в вопросе делает PHP. Почему данные показываются не как MySQL-наборы, а как их интерпретация на PHP?

    В общем, рекомендую следующее.
    • Убираете из вопроса всю PHP-шелуху, она не нужна и только засоряет вопрос и мешает работать с проблемой.
    • Сразу ориентируетесь на требуемую задачу - не надо упрощать, а потом соответственно выдавать перлы типа "это всё отлично, но оно мне нахрен не надо, потому что у меня всё сложнее".
    • Указываете точную версию СУБД.
    • Выкладываете полные CREATE TABLE всех таблиц, которые участвуют в процессе. Проконтролировать работоспособность - обязательно. Выкладываете пример данных в виде INSERT INTO. И тоже контроль. Можете сразу создать online fiddle и дать ссылку.
    • Выкладываете требуемый результат для именно этих данных. С подробным пояснением по практически каждой строке результата - "здесь так, потому что ...".

    С таким материалом можно работать, а не развлекаться популярным "тут играем, тут не играем, а тут рыбку заворачивали..".
  • Почему возникает ошибка при использовании оконной функции?

    @Akina
    Александр, посмотрите формальный порядок выполнения кляуз запроса. В принципе, для базового понимания этого достаточно.

    на сколько корректным будет решение, которое я применил

    Вполне корректно. А по сути, по логике, оно и моё решение - одно и то же. Просто группировка перенесена в окно, и добавлен DISTINCT, который есть ни что иное как специальный тип группировки. Поэтому я думаю, что мой запрос будет немого быстрее.
  • Как исправить ошибку 1366 Incorrect string value?

    @Akina
    symnoob, в комментарии к ответу Rsa97 есть линк на fiddle. Вы уж не поленитесь... ну и сам комментарий прочитать не помешает.
  • Как исправить ошибку 1366 Incorrect string value?

    @Akina
    Rsa97, ни для таблицы, ни для тем более БД менять ничего не надо. тем более что это бессмысленно, ибо будет применяться только к заново создаваемым таблицам и полям, и не повлияет на существующие. fiddle
    Менять надо определение конкретного поля.
  • Как добавить ещё одну выборку SQL JOIN?

    @Akina
    надо ещё получить список всех ТЭГОВ, из таблицы tags, соответствующий категории "Люди"

    Таблицы тегов и категорий не связаны. В текущей постановке задача нерешаема.
    Можно получить только список использованных тегов.

    ВОПРОС: Как это сделать?
    Создать ещё один запрос в tags.tagname?

    Несомненно. Имеющийся и требуемый наборы данных - не связаны.
  • Как убрать кавычки из ответа sql запроса с json?

    @Akina
    вроде можно через trim, но не пойму как его правильно подставить

    Если ты не знаешь операторы для работы с JSON, но слышал о строковых функциях, надо не пытаться применить второе, а изучать первое.
  • Как конвертировать уже существующие записи в другую кодировку?

    @Akina
    соединение тоже должно быть в utf8mb4

    CONVERT() работает только с данными, ей по барабану кодировка соединения.
  • Как конвертировать уже существующие записи в другую кодировку?

    @Akina
    AgentSmith72, как я и сказал - конвертировать можно, исправить повреждения нет.
  • Replace\CAST\ISNULL как применить?

    @Akina
    так нельзя...

    Так - можно.

    так как есть 2-я таблица с такимеже значениями только без .0 и без NULL . А мне в дальнейшем нужно сравнить эти 2 таблицы и там я уже использую CASE

    А это здесь каким боком?
  • Replace\CAST\ISNULL как применить?

    @Akina
    Пробывал запросы

    Это не запросы, это выражения.

    через что можно преоброзовать?

    Во-первых, следует написать соотв. WHERE, который отберёт только записи, требующие обновления.
    Во-вторых, использовать CASE, который в зависимости от значения выполнит либо то, либо другое преобразование.

    CAST во FLOAT вряд ли станет удалять дробную часть - с чего бы? преобразовывать надо в целое... но лучше обойтись строковыми функциями.

    Проблема в значениях типа 5.0 так как их мне нужно преобразовать в просто 5

    А во что надо преобразовать 45.04545?
  • Как настроить приоритет скорости для устройств?

    @Akina
    Drno, там может не общий трафик забивать, а куча мелкопакетных потоков.
  • Как настроить приоритет скорости для устройств?

    @Akina
    Вряд ли провайдер режет скорость на порте, откуда идёт трафик на тикток... оно ему надо? скорее приложение или сайт открывают овердохрена потоков, а полоса делится поровну, вот автору и остаются слёзы.
  • Как написать SQL запрос, чтобы при нахождении одной записи с определенным значением поля, другие записи с таким же значением не выводились?

    @Akina
    Сергей Паньков, дело в том, что если в таблице нет указанного ограничения, то мой ответ (и не только мой, к слову) нуждается в корректировке.