Задать вопрос
  • Как составить запрос в mysql в котором есть count?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Разбейте задачу на подзадачи, затем соберите воедино. Решение может быть неоптимальным, но работать будет
    1. Количество заказов по сотрудникам:
    SELECT `manager_id`, COUNT(*) AS `count`
        FROM `claim`
        GROUP BY `manager_id`

    2. Сотрудники, имеющие руководителей
    SELECT `id`, `first_name`, `last_name`, `email` 
        FROM `manager` 
        WHERE `chief_id` IS NOT NULL

    3. Объединяем запросы. Подсоединяем таблицу с количеством для менеджера (JOIN, потому что варианты с нулём заказов у менеджера нас не интересуют) и его руководителя (LEFT JOIN, ноль у начальника - приемлемый вариант), выбираем строки где у руководителя нет заказов или их меньше, чем у подчинённого.
    SELECT `m`.`id`, `m`.`first_name`, `m`.`last_name`, `m`.`email` 
        FROM `manager` AS `m`
        JOIN (
            SELECT `manager_id`, COUNT(*) AS `count`
            FROM `claim`
            GROUP BY `manager_id`
        ) AS `mc` ON `mc`.`manager_id` = `m`.`id`
        LEFT JOIN (
            SELECT `manager_id`, COUNT(*) AS `count`
            FROM `claim`
            GROUP BY `manager_id`
        ) AS `cc` ON `cc`.`manager_id` = `m`.`chief_id`
        WHERE `chief_id` IS NOT NULL
            AND (`cc`.`count` IS NULL
                OR `mc`.`count` > `cc`.`count`)
    Ответ написан
  • Какой алгоритм работы у консоли, когда в ней пишешь название приложения и команду?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Консоль ничего не знает. В простейшем случае (если набрана одна команда без пайпов и перенаправления потоков):
    Когда вы набираете строку и нажимаете Enter сначала из строки отделяется первая подстрока до пробела (или конца строки, если пробелов нет). Остаток строки будет передан выполняемой команде как аргументы.
    Затем проверяется, не является ли эта подстрока внутренней командой шелла. Если да, то выполняется эта команда.
    Если это не внутренняя команда и не указан полный путь к файлу, то идёт поиск файла с таким именем в каталогах, перечисленных в строке окружения PATH. Если файл найден и у пользователя есть права на его запуск, то он запускается.
    Если указан полный путь (например, /usr/bin/perl), то поиск не производится, идёт только проверка на права запуска.

    PS. Если речь о досовском/виндовом cmd, то он ищет файлы добавляя расширения .bat, .cmd, .exe, если расширение не указано явно. Кроме того, в нём поиск начинается с текущего каталога, а затем уже по переменной PATH.
    Ответ написан
    4 комментария
  • Unknown column 'TEST' in 'field list' |?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Какой тип поля `coupon`?
    Ответ написан
  • Как по средствам perl отправить email?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Читайте доку по NTLM-авторизации. Ваш клиент не отправляет сообщение Type 1, соответственно дальше ничего и не происходит до таймаута.
    Попробуйте через Net::SMTP_auth, возможно понадобится ещё Authen::NTLM
    Ответ написан
    Комментировать
  • Как решить задачу на статическую балансировку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Точное решение можно получить только полным перебором, MN вариантов. Приближённое - эмпирическими алгоритмами, например жадным.
    Ответ написан
    Комментировать
  • Как правильно расположить IP адрес?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    /20 - не адрес, а сеть, имеющая 4096 потенциальных адресов (-2 для сети и броадкаста). Начнём выделять адреса для подсетей, предварительно отсортировав их по убыванию количества компьютеров. Подсети будем выбирать так, чтобы их размер был на 4 больше, чем количество компьютеров (адрес самой сети, броадкаст, адреса для свитча и роутера):
    183.118.32.0/20 = 183.118.32.0-183.118.47.255
    A | 425 | 512 | /23 | 183.118.32.0/23 = 183.118.32.0-183.118.33.255
    E | 353 | 512 | /23 | 183.118.34.0/23 = 183.118.34.0-183.118.35.255
    C | 341 | 512 | /23 | 183.118.36.0/23 = 183.118.36.0-183.118.37.255
    H | 308 | 512 | /23 | 183.118.38.0/23 = 183.118.38.0-183.118.39.255
    G | 253 | 512 | /23 | 183.118.40.0/23 = 183.118.40.0-183.118.41.255
    D |  95 | 128 | /25 | 183.118.42.0/25 = 183.118.42.0-183.118.42.127
    F |  86 | 128 | /25 | 183.118.42.128/25 = 183.118.42.128-183.118.42.255
    B |  32 |  64 | /26 | 183.118.43.0/26 = 183.118.43.0-183.118.43.63

    Для связи роутеров можно добавить ещё одну подсеть /28 или 8 подсетей /30. Роутеры со свитчами объединяются транками и отдельных адресов для связи между собой не требуют.
    Ответ написан
    1 комментарий
  • Почему mysqldump в cron не работает?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При использовании в cron крайне желательно полностью прописывать пути ко всем файлам, как в командной строке, так и внутри запускаемых скриптов.
    Если не знаете полного пути к mysqldump, выполните команду
    which mysqldump
    Ответ написан
    1 комментарий
  • Как отключить блокировку при удаленном доступе?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    По лицензии на компьютере с десктопной версией Windows одновременно можно работать только с одним рабочим столом (неважно, локальным или удалённым). Если подключаться нужно для помощи текущему пользователю - VNC/TeamViewer/AmmyyAdmin ...
    Ответ написан
    Комментировать
  • Можно ли распарсить строку без обратной польской нотации?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можно. Составьте простейший конечный автомат и вычисляйте им.
    Ответ написан
    Комментировать
  • Nested sets как удалить узел и все дочерние элементы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Запрос, вроде, правильный. Скорее всего проблема в неправильной организации nested set в базе. В корректном nested set условие
    left_key >= :parent_left_key AND right_key <= :parent_right_key

    описывает узел со всеми его потомками.
    Ответ написан
    Комментировать
  • Что является подтверждением легальности OEM-версии продукта от Microsoft?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В реальности требуют бухгалтерские документы, подтверждающие приобретение компьютеров вместе с Windows, проверяют активацию, соответствие ключа активации ключу на наклейке. Могут проверить соответствие материнской платы бухгалтерским документам (по OEM-лицензии допускается только гарантийная замена материнской платы по неисправности).
    Ответ написан
    Комментировать
  • Как сгруппировать результаты по диапазону дней?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для начала, у вас неправильный формат даты в запросе. Если вместо стандартного типа DATE использован VARCHAR или TEXT, то поиск будет работать некорректно.
    Ну а для группировки достаточно составить функцию, которая будет выдавать одинаковые значения для величин, которые надо включить в одну группу.
    GROUP BY FLOOR(TIME_TO_SEC(TIMEDIFF(`start_date`, '2015-12-01'))/2/24/60/60)

    Ну и, конечно, индексы при такой группировке работать не будут.
    Ответ написан
    Комментировать
  • Как выбирать записи из базы циклично?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Добавить поле `lastUse` TIMESTAMP с индексом;
    UPDATE `table` SET @id := `id`, `lastUse` = NOW() ORDER BY `lastUse` LIMIT 1;
    SELECT * FROM `table` WHERE `id` = @id;

    Такая комбинация запросов ещё и позволяет работать параллельно нескольким скриптам.
    Ответ написан
  • Как переписать sql зарос insert на update?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если product_id - UNIQUE или PRIMARY KEY, то добавьте в конец запроса
    ON DUPLICATE KEY UPDATE `image` = VALUE(`image`)
    Ответ написан
  • Как хранить информацию о прочтении сообщения?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ: та же, что и была. Такие вещи реализуются отдельной таблицей связи unreaded_messages(message_id, admin_id). Иначе при добавлении одиннадцатого админа придётся переделывать всю таблицу сообщений.
    Ответ написан
    1 комментарий
  • Множественные объединения c условием?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    У вас цвет и размер - независимые атрибуты товара, поэтому получается, что в каждом из имеющихся цветов товар есть в каждом из имеющихся размеров. Таким образом, точно по вашему условию составить запрос невозможно, из (чёрный S & чёрный M & любой L) оно вырождается в (чёрный & S & M & L).
    SELECT `p`.`id` 
        FROM `product` AS `p`
        JOIN `product_color` AS `pc1` ON `pc1`.`product_id` = `p`.`id`
        JOIN `color` AS `c1` ON `c1`.`id` = `pc1`.`color_id` 
            AND `c1`.`name` = 'black'
        JOIN `product_size` AS `ps1` ON `ps1`.`product_id` = `p`.`id`
        JOIN `size` AS `s1` ON `s1`.`id` = `ps1`.`size_is` 
            AND `s1`.`name` = 'S'
        JOIN `product_size` AS `ps2` ON `ps2`.`product_id` = `p`.`id`
        JOIN `size` AS `s2` ON `s2`.`id` = `ps2`.`size_is` 
            AND `s2`.`name` = 'M'
        JOIN `product_size` AS `ps3` ON `ps3`.`product_id` = `p`.`id`
        JOIN `size` AS `s3` ON `s3`.`id` = `ps3`.`size_is` 
            AND `s3`.`name` = 'L'
    Ответ написан
  • Как добавить SPF-record в debian?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Запись надо добавлять на NS-сервере вашего домена. Но для начала надо определить, почему не доходят письма. Отсутствие SPF-записи всего лишь одна, и не самая вероятная из возможных причин.
    Ответ написан
    3 комментария
  • Как убрать ошибку #1064?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements.

    То бишь, все объявления DECLARE должны идти сразу после BEGIN и до любых других команд.
    Ответ написан
    Комментировать
  • В чем ошибка при получении ответа от VK?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    users.get
    user_ids а не user_id, access_token не требуется
    Ответ написан
  • Как удаленно перезагрузить все/несколько телефонов Grandstream и Cisco?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А не проще один раз в телефонах настроить автоматическую смену пояса?
    А так Cisco SPA перезагружается запросом к http://<адрес телефона>/admin/reboot
    Grandstream - http://<адрес телефона>/rs.htm
    Только может потребоваться предварительная авторизация на телефоне
    Ответ написан