Задать вопрос
  • Как устранить ошибку "operator does not exist: integer = integer[]"?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    ANY вместо IN?
    CREATE OR REPLACE FUNCTION get_count(VARIADIC ids integer[]) RETURNS int AS $$
    	SELECT COUNT(*) FROM device 
    	-- WHERE device.id IN (ids)
    	WHERE device.id = ANY (ids)
    $$ LANGUAGE SQL
    Ответ написан
    2 комментария
  • Как выбрать строку по определенному числу?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище, data quality у тебя ужасное. Такие данные не должны попадать в реляционную БД.
    Лучше их как-то подчистить и нормализовать. И потом и запрос по подчищенным данным пойдет
    быстрее и индекс можно построить.
    Ответ написан
    Комментировать
  • Возможна ли передача данных в обход роутера?

    IvanU7n
    @IvanU7n
    nothing interesting here
    они и так смогут без прописывания статики, да и в роутерах обычно можно конкретные адреса закрепить за устройствами

    ПС. роутер используется в случаях, когда адрес назначения вне локального диапазона
    Ответ написан
    Комментировать
  • Как создать процедуру, которая будет возвращать что-то?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вам нужно начать с туториала и примеров, а не с тупых статей в интернете и собственных догадок.
    Просто возьмите учебник и потратьте некоторое время на изучение самых базовых основ. Если вам лень этим заниматься. то почему вы думаете, что людям тут будет не лень сочинять вам индивидуальные экспресс-курсы по изучению основ баз данных?
    Ответ написан
    Комментировать
  • Почему строка таблицы mysql выводится 3 раза?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Все правильно. Такие данные.
    Ответ написан
    Комментировать
  • Как увеличивать счетчик в условиях конкуренции?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Да, лучше использовать конструкцию

    insert into foo (entity_id, count)
    values (8, 1)
    on duplicate key update count = count + 1;
    Ответ написан
    3 комментария
  • Как найти все углы относительно заданного?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    есть точка и основной вектор исходящий из нее, то есть угол (в градусах или радианах)

    Так вектор или угол? Это разные вещи.

    Если угол между всеми векторами должен быть одинаковым - то тут пофиг на первый вектор, важно только количество векторов. 360/(количество векторов -1) - вот и будет ваш один угол. Но зачем первый вектор - непонятно.
    Ответ написан
  • Почему при запросе в python mysql бд выдает ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В MySQL 8.0.2 и выше GROUPS - зарезервированное слово. Если хотите так назвать таблицу или колонку, надо брать название в обратные апострофы - `groups`.
    Ответ написан
    1 комментарий
  • Как применить деление по значению другого столбца?

    @Shavadrius
    Как вариант использовать структуру CASE в самом запросе.
    Ответ написан
    3 комментария
  • Как сравнить структуры двух БД и создать скрипт миграции?

    mayton2019
    @mayton2019
    Bigdata Engineer
    быстро сравнить структуры БД и сделать скрипт, который приводит одну БД к структуре второй?

    В этой задаче - большое количество подводных камней. Например что делать если в двух БД есть одинаковые
    поля но имеющие разный тип (NUMERIC / VARCHAR). Дилемма... Что делать с исчезающими полями?
    Удалять? Дилемма...

    Я вообще не видел коробочных решение которые бы работали на "раз-два-три". Всегда есть нюансы.
    И есть conditions которые нужно вбить или вкрутить в эти решения.

    Написать скрипты которые извлекают метадату из одной и из другой БД не очень сложно. Но само практическое
    применение подобных скриптов - ограничено. И я думаю что это как раз та причина по которой коробочные
    "миграторы" не прижились.
    Ответ написан
    Комментировать
  • Как настроить принтеры по сети, чтобы каждый печатал только на своём принтере?

    @rPman
    Самое дешевое решение (конечно его можно обойти, если знаешь как) - это поместить каждое сетевое устройство в свою подсеть, парами (т.е. принтер и компьютер прописываешь подсеть и 2 ip адреса, отличающиеся от основной сети). Это не vlan, так как изоляции нет и пакеты гуляют в общей куче, но все машины, укоторых не прописаны соответствующие настройки проигнорируют их, ни найти ни распечатать без настройки на машине будет нельзя.

    На машинах нужно будет прописывать два ip адреса (либо dhcp по mac адресу либо статикой вручную), один - общая локальная сеть организации, другой - из локальной сети принтера. На принтерах настраиваешь только один ip адрес.

    Принтеры, не умеющие работать по сети нужно будет подключать к какому-либо компьютеру, и запретить этому компьютеру на нем печатать в общем случае не получится (можно настроить права доступа и запретить пользователю печатать на нем, вот только не помню, работает ли запрет сразу на все принтеры или только на выбранный)
    Ответ написан
    Комментировать
  • Как массово изменить именование фотографий товаров (opencart, mysql)?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Сначала формируете из базы команды для переименования файлов, затем одним запросом переименовываете картинки в базе
    Ответ написан
    6 комментариев
  • Как сделать запрос для отбора иерархически связанных строк в одной таблице?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    Предлагаю рассмотреть переход на специальный тип данных: MS SQL: hierarchyid — иерархия по-новому. Также: Иерархические данные.

    Рекурсия, пример D.
    Ответ написан
    Комментировать
  • Будет ли работать такая схема интернет кабеля с разветвителем?

    paran0id
    @paran0id
    Умный, но ленивый
    Странная схема.
    Во-первых, никаких разветвителей, для коммутации сетей используют коммутатор (свитч).
    Во-вторых, компьютер ходит в интернет через роутер. Подключение к провайдеру настроено на роутере. Можно настроить его на компьютере, но не одновременно с роутером.
    В-третьих, если расскажете, для чего отключать роутер, можно будет предложить лучшее решение (хотите отключать беспроводную сеть?).
    Пока видится, что в роли "разветвителя" как раз должен быть роутер.
    Ответ написан
    Комментировать
  • 5 млн файлов JSON или DB?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если по записям нет никакого поиска и всегда точно известно (вычислимо) имя файла, то база данных не нужна. Заливка на CDN тоже не имеет смысла, поскольку ваш API будет на одном сервере, а не разбросан по миру. Проще всего в этом случае хранить все файлы локально на API-сервере.
    Ответ написан
  • Правильный бекап базы данных mysql?

    @vitaly_il1
    DevOps Consulting
    Самое важное - раз в какое-то время восстанавливать базу и проверять что получилось.
    Дополнительно:
    - если нагрузка на базу неигрушечная, то запускать бэкап на реплике
    - если хочется/нужно откатиться на любую точку во времени - сохранять бинарный лог

    А если хочется все это автоматически с удобный GUI - использовать DBaaS (AWS RDS, Aiven и т.п.)
    Ответ написан
    Комментировать
  • Стоит ли переноносить таблицу из базы mysql?

    @Everything_is_bad
    лучше сделать partitioning этой таблицы, либо вообще логи вынести из обычной базы, в специальные (но это если с ними надо активно работать)
    Ответ написан
    6 комментариев
  • SQL запрос не знаю правильный?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Проверять, что результат запроса содержит данные о товаре. Если не содержит - показывать пользователю об этом сообщение.
    Выполнение запроса с WHERE id = 'несуществующее значение' не является ошибкой само по себе, это вполне нормальная ситуация, которую нужно просто обрабатывать в коде.
    Ответ написан
    Комментировать
  • Есть ли более компактный способ сделать выборку из БД?

    @maksam07
    Но уверен есть решение элегантнее и разумнее)

    Вы это решение найдете значительно быстрее, когда прочитаете о нормализации базы данных. Если не ошибаюсь, то 10 основных норм достаточно, для проектирования более хороших бд.

    UPD. С числом ошибся. Я имел в виду первые 3 нормальных формы. Кто хочет большему количеству форм соответствовать - пожалуйста

    Или это ок?

    В текущем варианте - ок.
    Ответ написан
    6 комментариев
  • Как это решать?

    Vindicar
    @Vindicar
    RTFM!
    1. Подумать.
    2. Написать код.

    А если серьёзно, задача сводится к разложению числа на заданные слагаемые. Это гуглится.
    Один из способов (необязательно самый быстрый) - рекурсивное разложение. Упрощенно, перебираешь все Ai меньшие N. Выкидываешь это Ai из рассматриваемого набора, и затем рекурсивно пытаешься составить число (N - Ai) из всех Aj, меньших или равных Ai (так как большие слагаемые ты уже рассмотрел).
    Углубляясь в рекурсию, рано или поздно ты наткнёшься на одну из двух ситуаций:
    а) среди Aj есть число, равное искомому. Решение найдено, осталось размотать рекурсию обратно и собрать в кучку использованные Ai.
    б) нет ни одного Aj, меньшего или равного искомому числу. Решения нет.
    В твоём случае будет ещё случай в) Сумма всех Ai меньше N. Решения нет, заплатить не удастся. Это можно проверить вообще сразу.

    Реализовать будет проще, если отсортируешь Ai в порядке убывания. Тогда вместо удаления Ai из списка слагаемых достаточно будет выбрать индекс i, с которого будешь начинать рассмотрение слагаемых - все элементы до i-го либо слишком велики, либо уже были рассмотрены и не пригодились.
    Ответ написан
    3 комментария