Корзина неактивна в настройках значков на рабочем столе в Windows 10

Если параметр «Корзина» выделен серым цветом в окне «Параметры значков на рабочем столе» в Windows 10 , вы можете обратиться к этому пошаговому руководству для устранения проблемы. Это поможет вам вернуть параметр «Корзина» на панели «Параметры значков на рабочем столе», чтобы вы могли отобразить или скрыть корзину на рабочем столе. Вы можете быстро решить проблему, если она отключена по ошибке или из-за вредоносного, рекламного ПО и т.д.

Есть два способа исправить проблему на вашем компьютере с Windows 10. Вы можете использовать либо редактор локальной групповой политики, либо редактор реестра. Если у вас Windows 10 Home edition, вы должны попробовать метод редактора реестра, так как редактор локальных групповых политик недоступен на вашем компьютере.

Использование редактора групповой политики

Чтобы устранить проблему с корзиной, выделенной серым цветом в окне « Параметры значков на рабочем столе» с помощью редактора групповой политики, выполните следующие действия.

  1. Открыть редактор локальной групповой политики
  2. Перейдите в раздел «Рабочий стол» в разделе «Административные шаблоны».
  3. Дважды щелкните значок «Удалить корзину» в настройках рабочего стола.
  4. Выберите Not Configured и сохраните изменения
  5. Чтобы узнать шаги подробно, вам нужно продолжать читать.

Откройте редактор локальной групповой политики на компьютере Windows. Вы можете нажать Win + R, набрать gpedit.msc и нажать кнопку Enter. Кроме того, вы можете найти его в окне поиска панели задач. После этого вы должны перейти к этому пути-

Конфигурация пользователя > Административные шаблоны > Desktop

После того, как вы щелкнете меню Desktop на левой стороне, вы должны найти некоторые настройки на правой стороне. Дважды щелкните значок «Удалить корзину» в настройках рабочего стола и убедитесь, что выбран параметр «Не настроен».

Если нет, выберите эту опцию и сохраните изменения.

Второй метод основан на редакторе реестра. Рекомендуется сначала сделать резервную копию реестра или создать точку восстановления системы.

Использование редактора реестра

Если корзина неактивна в настройках значков на рабочем столе, выполните следующие действия.

  1. Откройте редактор реестра на компьютере с Windows
  2. Перейдите в папку NonEnum
  3. Создать DWORD (32-битное) значение
  4. Назовите его как {645FF040-5081-101B-9F08-00AA002F954E}
  5. Установите значение данных на 0.

Откройте редактор реестра на вашем компьютере с Windows. Вы можете нажать Win + R, набрать regedit и нажать кнопку Enter. Кроме того, вы можете найти его в окне поиска панели задач и открыть соответствующий результат.

После этого перейдите к этому пути

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesNonEnum

В папке NoneNum вы должны найти значение DWORD с именем {645FF040-5081-101B-9F08-00AA002F954E}. Если его нет на вашем компьютере, вам нужно его создать. Для этого щелкните правой кнопкой мыши пробел, выберите «Создать» > «Значение DWORD (32-разрядное)». После этого назовите его так:

 {645FF040-5081-101B-9F08-00AA002F954E}

Теперь проверьте, установлено ли значение Value в 0 или нет. Для этого дважды щелкните по значению DWORD и проверьте, не установлено ли оно в 0. Если нет, необходимо внести необходимые изменения и сохранить настройки.

Это оно! Теперь вы должны найти параметр «Корзина» в окне «Параметры значков на рабочем столе».



2020-01-23T11:00:00
Вопросы читателей

Исправить ошибку Google Chrome 0xc00000a5 в Windows 10

Если вы столкнулись с ошибкой Google Chrome 0xc00000a5 при попытке установить или запустить Google Chrome, эта статья будет полезна. Несколько пользователей сообщили об этой ошибке, когда браузер был открыт, и они попытались запустить новое окно.

Ошибка Google Chrome 0xc00000a5 возникает, когда повреждены или отсутствуют несколько файлов, важных для Google Chrome. Это может произойти, когда вредоносная программа изменяет файлы браузера, установка завершена или недавнее обновление повредило реестр.

  1. Удалить вредоносные программы из вашей системы
  2. Добавить флаг No Sandbox
  3. Отключить режим совместимости
  4. Сбросить Chrome
  5. Переустановите Google Chrome

Чтобы решить проблему, попробуйте следующие решения последовательно:

1] Удалить вредоносные программы из вашей системы

Важно удалить вредоносное ПО из вашей системы, прежде чем переходить к дальнейшему решению. Вы можете сделать это с помощью любого заслуживающего доверия стороннего антивирусного программного обеспечения.

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

2] Добавить No Sandbox флаг

Процедура добавления флага No Sandbox выглядит следующим образом:

Щелкните правой кнопкой мыши значок ярлыка Google Chrome на экране рабочего стола.

Выберите Свойства.

На вкладке «Ярлык» вы найдете целевой путь.

Просто добавьте –no-sandbox в качестве суффикса к пути.

Нажмите Apply и затем OK, чтобы сохранить настройки.

3] Отключить режим совместимости

Поскольку в системе используется последняя версия Google Chrome, режим совместимости будет избыточным. Однако, если включено, это может вызвать эту ошибку. Чтобы отключить режим совместимости для Google Chrome, попробуйте выполнить следующие действия:

Щелкните правой кнопкой мыши ярлык Google Chrome и выберите «Свойства».

На вкладке «Совместимость» снимите флажок «Запускать эту программу в режиме совместимости для».

Отключить режим совместимости для Google Chrome

Нажмите Apply и затем OK, чтобы сохранить настройки.

4] Сбросить Chrome

сброс-хром-2

Введите chrome://settings и нажмите Enter. Прокрутите до конца и нажмите на Дополнительные настройки. В конце вы увидите кнопку сброса настроек браузера. Нажмите на кнопку, чтобы восстановить настройки Chrome по умолчанию .

5] Переустановите Google Chrome

Если описанные выше действия не удаются, вам придется правильно удалить Google Chrome и переустановить его после повторной загрузки программного обеспечения с официального сайта.

Нажмите Win + R, чтобы открыть окно «Выполнить», и введите команду appwiz.cpl. Нажмите Enter, чтобы открыть окно «Программы и компоненты».

Щелкните правой кнопкой мыши Google Chrome в списке и выберите «Удалить».

Перезагрузите систему после удаления пакета.

Теперь загрузите последнюю версию Google Chrome с официального сайта и установите пакет в своей системе, и он должен решить вашу проблему. Обратите внимание, что при этом вы можете потерять свои настройки и т.д.

 



2020-01-23T10:50:32
Вопросы читателей

Проверьте, содержит ли строка подстроку в Python

В Python есть несколько методов для работы со строками. В этой статье мы покажем вам, как узнать, содержит ли строка подстроку.

 

Как проверить, содержит ли строка подстроку

Независимо от того, нужно ли проверять строку в слове, букве или фразе, в Python вы можете легко использовать встроенные методы и проверку строки в операторе.

Стоит отметить, что вы получите логическое значение (True или False) или целое число, чтобы указать, содержит ли строка то, которую вы искали. Вы узнаете об этом больше, когда мы покажем код ниже.

Давайте посмотрим на возможные решения, с помощью которых вы можете найти, содержит ли строка конкретное слово/букву.

 

Способ 1. Использование оператора «in»

Предположим, у вас уже есть строка «str», вот как она будет выглядеть:

stringexample = "terminator"

"ter" in str

 

Выход для этого будет «True», потому что строка содержит то, что мы искали. Таким образом, если вы ищете что-то, а в строке этого нет, вы получите «False» в качестве вывода.

Если вы все еще не уверены, позвольте нам написать небольшую программу, чтобы объяснить то же самое:

stringexample = "Terminator"

substring = "ter"



if substring in stringexample:

    print ("Мы нашли строку!")

else:

    print ("Строка не найдена!")

 

Выход для вышеуказанного кода будет:

Мы нашли строку!

 

Метод 2: Использование метода поиска

Если вы хотите использовать метод для поиска подстроки, вы можете использовать функция  find(). Вот как это сделать:

stringexample = "kiki"

stringexample.find("ki")

 

Выход для этого будет 0.

Причина вывода в том, что эта функция возвращает самое низкое значение индекса, когда найдена подстрока.

Если она возвращает -1, это означает, что строка не содержит этой подстроки.

Вот небольшая программа, чтобы показать это в действии:

stringexample = "Kiki"

substring = "ki"



if stringexample.find("ki") != -1:

    print ("Мы нашли строку!")

else:

    print ("Строка не найдена!")

 

Выход для вышеуказанного кода будет:

Мы нашли строку!

 

Метод 3: Использование метода Contains

__contains __ () — еще одна функция, помогающая проверить, содержит ли строка определенную букву/слово.

Вот как вы можете использовать это:

stringexample = "kiki"

stringexample.__contains__("k")

 

Вы получите вывод как True/False. Для приведенного выше фрагмента кода вы получите вывод в виде:

True

 

Обратите внимание, что при написании метода используются 4 символа подчеркивания (2 перед словом и 2 после).

Вот программа, чтобы объяснить то же самое:

stringexample = "kiki"

if stringexample.__contains__("k") == True:

  print ("Да, нашел подстроку!")

else:

  print ("Строка не найдена!")

 

В этом случае вывод:

Да, нашел подстроку!

 

Завершение

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

Если у вас есть вопросы или предложения, пожалуйста, дайте нам знать.



2020-01-23T08:46:01
Python

Как автоматически удалять файлы старше X дней в Windows 10

В Windows 10 вы можете использовать командную строку и планировщик задач, чтобы автоматически удалять файлы старше определенного количества дней, чтобы освободить место и сохранить ваши файлы организованными.

Приложение «Настройки» включает в себя «Хранилище» — функцию, которая автоматически запускается при нехватке памяти для освобождения места. Помимо возможности удаления временных файлов, вы также можете включить функцию удаления файлов, которые были в корзине или в папке «Загрузки», которые не изменились за последний месяц. Однако эта функция ограничена и не позволяет отслеживать дополнительные папки, чтобы удалять их файлы, которые не изменились за последние 60 дней.

Если вы храните временные файлы из Интернета или проекты в разных папках, можно использовать команду ForFiles в командной строке и планировщике задач, чтобы удалить файлы из любой папки старше определенного количества дней.

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

Важное замечание: Перед запуском команды в папке, которую вы хотите организовать, протестируйте команду с помощью тестовой папки, так как использование неправильных параметров и другие ошибки могут привести к удалению неправильных файлов.

Как использовать ForFiles для удаления файлов старше X дней в Windows 10

Если у вас есть разные папки с большим количеством файлов и вы хотите очистить их, удалив те файлы, которые старше определенного количества дней, вы можете использовать команду ForFiles.

Чтобы использовать команду ForFiles для удаления файлов старше определенного количества дней, выполните следующие действия:

  1. Откройте Пуск в Windows 10.
  2. Найдите командную строку , щелкните правой кнопкой мыши результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы удалить файлы, которые не были изменены за последние 30 дней, и нажмите Enter :
    ForFiles /p "C:pathtofolder" /s /d -30 /c "cmd /c del @file"

    В приведенной выше команде не забудьте изменить "C:pathtofolder" указав путь к папке, в которую вы хотите удалить файлы, и измените /d -30 чтобы выбрать файлы с датой последнего изменения.

Разбивка команд ForFiles

  • /p — указывает путь для начала поиска.
  • /s — поручает ForFiles искать внутри подкаталогов.
  • /d — указывает дату последнего изменения файла.
  • /c — указывает ForFiles выполнить команду, которую нужно заключить в двойные кавычки, по умолчанию это "cmd /c del @file".

Если вы хотите узнать больше об этих ключах, используйте ForFiles /? команду.

Как использовать Task Scheduler для автоматического удаления файлов старше X дней в Windows 10

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

Если вы хотите автоматизировать процесс, вам нужно использовать планировщик задач в Windows 10, чтобы создать задачу, которая выполняет команду с заданными интервалами.

Чтобы создать запланированное задание с помощью команд ForFiles для удаления файлов, которые не изменились за некоторое время, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите планировщик заданий и нажмите на верхний результат, чтобы открыть опыт.
  3. Щелкните правой кнопкой мыши папку «Библиотека планировщика заданий».
  4. Нажмите «Новая папка».
  5. Введите любое имя для папки и нажмите ОК. (Мы создаем новую папку, чтобы задачи были организованы и отделены от системных задач.)
  6. Щелкните правой кнопкой мыши недавно созданную папку и выберите параметр «Создать задачу».
  7. В поле «Имя» введите имя для задачи.
  8. На вкладке «Общие» в разделе «Параметры безопасности» выберите параметр «Выполнить» независимо от того, вошел пользователь в систему или нет . (Это опция, которая заставляет командное окно не появляться, когда задача запускается автоматически.)

  9. Снимите флажок Не хранить пароль .
  10. Перейдите на вкладку «Триггеры» и нажмите кнопку «Новый».
  11. Используя раскрывающееся меню «Начать задачу», выберите параметр «По расписанию».
  12. В разделе «Настройки» укажите, когда вы хотите, чтобы задача выполнялась (например, «Вовремя», «Ежедневно», «Еженедельно», «Ежемесячно»). Какой бы вариант вы ни выбрали, обязательно укажите параметры запуска справа.
  13. Нажмите кнопку ОК.

  14. Перейдите на вкладку «Действия» и нажмите кнопку «Создать».
  15. В раскрывающемся меню «Действия» выберите пункт «Запустить программу».
  16. В поле «Программа / скрипт» введите следующую команду:
    Forfiles

  17. В поле «Добавить аргументы» введите следующую команду и нажмите кнопку ОК .
    /p "C:pathtofolder" /s /d -30 /c "cmd /c del @file"

    В приведенной выше команде не забудьте изменить «C:pathtofolder» указав путь к папке, в которую вы хотите удалить файлы, и измените /d -30 чтобы выбрать файлы с датой последнего изменения.

  18. Нажмите кнопку ОК .
  19. Перейдите на вкладку «Настройки» и обязательно проверьте следующие параметры:

    • Разрешить выполнение задачи по требованию.
    • Запустите задачу как можно скорее после того, как запланированный запуск пропущен.
    • Если задача не выполняется, перезапустите каждый.

  20. Нажмите кнопку ОК .

  21. При появлении запроса введите имя пользователя и пароль администратора.
  22. Нажмите кнопку ОК.

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



2020-01-22T21:22:52
Вопросы читателей

Что такое «Windows 10 в режиме S»?

Microsoft сделала несколько странных вещей с Windows за эти годы. Windows, работающая в режиме S, является одной из таких вещей.

Все больше и больше мы обнаруживаем, что в ноутбуках Windows 10 работает в режиме S, но объяснения S-режима нет. В рекламе ноутбуков также нет ничего, что сообщало бы нам о том, что мы можем вывести Windows из режима S и иметь обычную версию Windows 10.

Как следует из названия, это режим Windows 10, а не его собственная операционная система (ОС).

То, что символизирует S, еще не известно, но, основываясь на их маркетинге, это может быть Security, Speed, Smaller или даже Schools. Может быть, все те. Названия ОС Windows были загадочными.

Безопасность в режиме Windows 10 S

Режим Windows 10 S позиционируется как более безопасный, чем полноценный Windows 10. Он позволяет устанавливать только проверенные приложения Microsoft из Магазина Microsoft. Это ограничивает количество доступных приложений, но не должно ограничивать нас от того, что мы можем сделать.

По состоянию на конец сентября 2019 года в Магазине Microsoft было более 669 000 приложений. Мы должны быть в состоянии найти то, что нам нужно. Здесь есть все наши повседневные приложения, такие как Spotify, Slack, NetFlix и Microsoft Office Suite.

Режим S также использует браузер Microsoft Edge в качестве веб-браузера по умолчанию , и его нельзя изменить. Microsoft придерживается отчета о безопасности веб-браузера NSS Labs за 2017 год, в котором говорится, что Edge более безопасен, чем Chrome или Firefox. Этому отчету 3 года, так что он подлежит обсуждению.

Работа в PowerShell , CMD и настройка реестра Windows также исключена из Windows 10 в режиме S для большей безопасности. По сути, если это инструмент уровня администратора, он не в режиме S, что делает его намного сложнее взломать.

Скорость в режиме Windows 10 S

Microsoft также говорит, что Windows 10 S Mode имеет большую скорость. Ну, по крайней мере, при запуске. Разумно утверждать, что если ему не нужно загружать полную версию Windows 10, он запустится быстрее, чем полная версия Windows 10.

Веб-браузер Edge является браузером по умолчанию для режима S, и Microsoft утверждает, что он работает быстрее, чем Chrome или Firefox. Опять же, что спорно, поскольку есть слишком много факторов, участвующих в просмотре веб-страниц, чтобы сделать окончательный, объективное требование, как это.

Размер и режим Windows 10 S

В игре большого размера Windows, работающая в режиме S, имеет установленный размер около 5 ГБ на жестком диске. Полная установка Windows 10 может варьироваться от 20 до 40 ГБ, в зависимости от версии и выбранных функций. Режим S экономит нам как минимум 15 ГБ дискового пространства.

Как мы увидим ниже, S Mode также, вероятно, хорошо работает при минимальных системных требованиях Windows 10.

Режим Windows 10 S для школ

Рынок образования является ключом к доминированию ОС. Независимо от ОС, которую молодые люди используют в первую очередь, скорее всего, это ОС, которую они предпочтут в дальнейшем. То, что школы используют для обучения рабочим навыкам, скорее всего, будет той ОС, которую будут использовать работодатели, чтобы молодые сотрудники могли работать продуктивнее и быстрее. Это большая часть того, как Microsoft стала тем, чем она является сегодня.

Google знает об этом и массово выпускает свои маленькие, быстрые и доступные по цене Chromebook в школы . S Mode является противодействием Microsoft.

Скорость, безопасность и даже размер Windows 10 S Mode подходят для школьного рынка. Кроме того, S Mode поставляется с образовательной поддержкой со средствами администратора, такими как приложение « Настроить школьные ПК» . Есть также Центр Microsoft Educator , где учителя могут узнать больше о продуктах Microsoft и о том, как лучше всего использовать их в классе.

Более легкая ОС также должна потреблять меньше энергии, что продлевает срок службы батареи . Идея в том, что студент может использовать его весь день без подзарядки.

Почему больше ноутбуков продается под Windows, работающей в режиме S?

Мы подозреваем, что это связано с тем, что они могут продавать ноутбук с более дешевым оборудованием, если Windows установлена ​​в режиме S. Это не плохо! Если людям нужен компьютер с ОС Windows, но они не могут позволить себе полнофункциональный ноутбук, это помогает снизить барьер для входа. Это делает устройство Windows конкурентом устройств Chrome.

Полные Windows 10 и Windows, работающие в режиме S, имеют одинаковые минимальные системные требования для установки.

  • Для устройства требуется процессор с тактовой частотой не менее 1 ГГц или система на чипе (SoC).
  • Должно быть минимум 2 ГБ ОЗУ и 32 ГБ на жестком диске.
  • Он должен иметь совместимую с DirectX 9 или более позднюю версию видеокарту и разрешение экрана не менее 800 × 600 пикселей.
  • Единственное дополнительное требование, предъявляемое к Windows 10 S Mode, — это то, что устройство может подключаться к Интернету при первоначальной настройке.

Мы знаем, что если бы у нас был ноутбук с такими минимальными характеристиками и мы пытались использовать Windows 10 Home, Pro или Enterprise, мы бы очень быстро выдернули волосы. Это было бы почти бесполезно. Таким образом, мы получаем компьютеры с гораздо большими техническими характеристиками при гораздо большей стоимости.

Windows 10 в режиме S, вероятно, будет нормально работать с этими минимальными характеристиками. Устройство, построенное по этим минимальным характеристикам или близкое к ним, будет гораздо более доступным, чем полнофункциональные ноутбуки, которые стоят сотни или даже тысячи долларов.

Как перейти из режима S в полный режим Windows

Теперь, когда мы знаем, что такое Windows 10 S Mode, нам не нужно бояться, что мы не получим полного опыта Windows. Если мы хотим использовать полную версию нашей ОС Windows, мы можем вывести ее из S-режима и перейти к обычной версии в любое время. Там нет никаких дополнительных затрат. Просто убедитесь, что ваше устройство может справиться с этим.

Самое важное предупреждение состоит в том, что, как только мы переключаемся в полный режим Windows, мы не можем легко вернуться в режим S. Если при создании устройства мы создали носитель для восстановления, то мы можем восстановить компьютер в режиме S.

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

  • Нажмите одновременно клавиши Windows и X. В открывшемся меню нажмите « Настройки».

  • В окне «Настройки» нажмите «Обновление и безопасность».

  • В окне «Обновление» нажмите «Активация» слева.

  • Найдите раздел «Перейти к Windows 10 Home» или «Перейти к Windows 10 Pro», нажмите «Перейти в магазин».
  • Магазин Microsoft откроется на странице «Переключение из режима S» . Нажмите на кнопку Получить. Через несколько секунд появится подтверждающее сообщение, показывающее, что процесс завершен. Теперь компьютер будет использовать полную версию Windows 10 Home или Windows 10 Pro. Также могут быть установлены программы, отличные от приложений из Магазина Windows.

Можем ли мы вернуться к Windows в режиме S?

Нет, если это было пропущено ранее, откат к Windows 10 в режиме S не может быть выполнен. В лучшем случае компьютер может быть полностью перезагружен, если у нас есть носитель для восстановления с того времени, когда он был в Windows S Mode.



2020-01-22T16:47:52
Вопросы читателей

Выбор случайных записей в MySQL

Резюме : в этом руководстве вы изучите различные методы выбора случайных записей из таблицы базы данных в MySQL.

Иногда вам нужно выбрать случайные записи из таблицы, например:

  • Выделите несколько случайных постов в блоге и отобразите их на боковой панели.
  • Выбор случайной цитаты для отображения виджета «Цитата дня».
  • Выбор случайных картинок в галерее и использование в качестве рекомендуемых картинок.

 

MySQL выбирает случайные записи, используя ORDER BY RAND()

MySQL не имеет встроенного оператора для выбора случайных строк из таблицы. Для этого вы используете функцию RAND().

Следующий запрос выбирает случайную строку из таблицы базы данных:

SELECT * FROM table_name

ORDER BY RAND()

LIMIT 1;

 

Давайте рассмотрим запрос более подробно.

  • Функция RAND() генерирует случайное значение для каждой строки в таблице.
  • Предложение ORDER BY сортирует все строки в таблице по случайному числу, сгенерированному функцией RAND().
  • Предложение LIMIT выбирает первую строку в наборе результатов, отсортированных случайным образом.

Если вы хотите выбрать N случайных записей из таблицы базы данных, вам нужно изменить предложение LIMIT следующим образом:

SELECT * FROM table_name

ORDER BY RAND()

LIMIT N;

 

Смотрите следующую customersтаблицу из примера базы данных.

Выбор случайных записей в MySQL

 

В следующем примере выбираются пять случайных клиентов из таблицы customers:

SELECT

customerNumber,

customerName

FROM

customers

ORDER BY RAND()

LIMIT 5;

 

Обратите внимание, что вы можете получить другой набор результатов, потому что он случайный.

Эта техника очень хорошо работает с небольшим столом. Тем не менее, это будет медленно для большой таблицы, потому что MySQL должен отсортировать всю таблицу, чтобы выбрать случайные.

Скорость запроса также зависит от количества строк в таблице. Чем больше строк в таблице, тем больше времени требуется для генерации случайного числа для каждой строки.

 

MySQL выбирает случайные записи, используя предложение INNER JOIN

Этот метод требует, чтобы таблица имела поле первичного ключа с автоинкрементом и в последовательности не было пробела.

Следующий запрос генерирует случайное число на основе столбца первичного ключа:

SELECT

ROUND(RAND() * ( SELECT MAX(id) FROM  table_name)) AS id;

 

Мы можем объединить таблицу с набором результатов, возвращенным вышеуказанным запросом, следующим образом:

SELECT t.*

FROM table_name AS t

INNER JOIN

(SELECT ROUND(

RAND()*

(SELECT MAX(id) FROM table_NAME )) AS id

) AS x

WHERE

t.id >= x.id

LIMIT 1;

 

Используя эту технику, вы должны выполнить запрос несколько раз, чтобы получить более одной случайной строки, потому что, если вы увеличите лимит, запрос выдаст только последовательные строки, которые начинаются со случайно выбранной строки.

Следующий запрос возвращает случайного клиента из таблицы customers.

SELECT

t.customerNumber, t.customerName

FROM

customers AS t

JOIN

(SELECT

ROUND(RAND() * (SELECT

MAX(customerNumber)

FROM

customers)) AS customerNumber

) AS x

WHERE

t.customerNumber >= x.customerNumber

LIMIT 1;

 

MySQL выбирает случайные записи, используя переменные

В случае, если в таблице есть столбец id со значениями, которые попадают в диапазон, 1..N и в диапазоне нет пропуска, вы можете использовать следующую технику:

  • Сначала выберите случайные числа в диапазоне 1..N.
  • Во-вторых, выберите записи на основе случайных чисел.

Следующее утверждение поможет вам сделать это:

SELECT

table. *

FROM

(SELECT

ROUND(RAND() * (SELECT

MAX(id)

FROM

table)) random_num,

@num:=@num + 1

FROM

(SELECT @num:=0) AS a, table

LIMIT N) AS b,

table AS t

WHERE

b.random_num = t.id;

 

Обратите внимание, что пользовательские переменные зависят от соединения. Это означает, что эту технику нельзя использовать с пулом соединений. Кроме того, первичный ключ должен быть целочисленным, а его значения должны быть в последовательности без пробелов.

В этом уроке мы показали вам несколько приемов выбора случайных записей из таблицы.



2020-01-22T14:44:06
База данных MySQL