кодесурса
«MYSQL

MySQL RAND () функция

script1adsense2code
script1adsense3code

RAND () функция

MySQL RAND () возвращает случайное значение с плавающей запятой в диапазоне от 0 до 1. Когда фиксированное целочисленное значение передается в качестве аргумента, значение обрабатывается как начальное значение, и в результате повторяемая последовательность значений столбца будет вернулся.

Синтаксис:

 RAND (), RAND (M);

аргументация

название Описание
M Число от 0 до 1.

Наглядное представление функции MySQL RAND ()

«изобразительный

Пример функции MySQL RAND ()

Код:

SELECT RAND();

объяснение

Вышеуказанный оператор MySQL вернет случайное значение от 0 до 1.

Пример вывода:

 mysql> SELECT RAND ();
+ ------------------- +
| RAND () |
+ ------------------- +
| 0.369500624360052 | 
+ ------------------- +
1 ряд в наборе (0,00 сек)

Пример: функция RAND () с начальным значением

Код:

SELECT RAND(),RAND(2),RAND(2);

объяснение

Приведенный выше оператор MySQL вернет случайное значение (от 0 до 1) и повторяемое значение, используя seed в аргументе.

Пример вывода:

 mysql> SELECT RAND (), RAND (2), RAND (2);
+ ------------------- + ------------------- + --------- ---------- +
| RAND () | RAND (2) | RAND (2) |
+ ------------------- + ------------------- + --------- ---------- +
| 0.964232316207357 | 0.655586646549019 | 0.655586646549019 | 
+ ------------------- + ------------------- + --------- ---------- +
1 ряд в наборе (0,00 сек)

Пример: функция RAND () с использованием таблицы

Код:

SELECT FLOOR(RAND()*10)
FROM category;

объяснение

Приведенный выше оператор MySQL вернет наибольшее целочисленное значение после умножения случайно сгенерированного числа на 10, но не больше сгенерированного числа.

Пример вывода:

 mysql> ВЫБРАТЬ ЭТАЖ (RAND () * 10)
    -> ИЗ категории; 
+ ------------------ +
| ЭТАЖ (RAND () * 10) |
+ ------------------ +
| 7 | 
| 6 | 
| 2 | 
| 0 | 
| 6 | 
+ ------------------ +
5 рядов в наборе (0,29 сек)

Пример: функция RAND () с предложением where

Код:

SELECT pub_name,country,no_of_branch,
   FLOOR(RAND(2)*20)
      FROM publisher
WHERE no_of_branch>FLOOR(RAND(2)*20);

объяснение

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

Пример вывода:

 mysql> ВЫБЕРИТЕ имя_паба, страну, no_of_branch,
    -> ЭТАЖ (RAND (2) * 20)
    -> ОТ издателя
    -> ГДЕ no_of_branch> ЭТАЖ (RAND (2) * 20);
+ -------------------------- + --------- + ------------ - + ------------------- +
| pub_name | страна | no_of_branch | ЭТАЖ (RAND (2) * 20) |
+ -------------------------- + --------- + ------------ - + ------------------- +
| Публикация Jex Max | США | 15 | 13 | 
| Публикация БПП | Индия | 10 | 2 | 
| Горная публикация | США | 25 | 12 | 
| Летняя ночь Публикация | США | 10 | 17 | 
| Роман Издатель ООО | Индия | 10 | 7 | 
+ -------------------------- + --------- + ------------ - + ------------------- +
5 рядов в наборе (0,13 сек) 

PHP скрипт

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>example-rand-function - php mysql examples | w3resource</title>
<meta name="description" content="example-rand-function - php mysql examples | w3resource">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>A list of Publishers, their country and no of branches of that publishing house, where no of branches are more than
the random number generated by using the FLOOR function:</h2>
<table class='table table-bordered'>
<tr>
<th>Publishers name</th><th>Country</th><th>Number of branches</th><th>FLOOR(RAND(2)*20)</th>
</tr>
<?php
$hostname="your_hostname";
$username="your_username"; 
$password="your_password";
$db = "your_dbname";
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
foreach($dbh->query('SELECT pub_name,country,no_of_branch,FLOOR(RAND(2)*20) 
           FROM publisher  
           WHERE no_of_branch>FLOOR(RAND(2)*20)') as $row) {
echo "<tr>";
echo "<td>" . $row['pub_name'] . "</td>";
echo "<td>" . $row['country'] . "</td>";
echo "<td>" . $row['no_of_branch'] . "</td>";
echo "<td>" . $row['FLOOR(RAND(2)*20)'] . "</td>";
echo "</tr>";
}
?>
</tbody></table>
</div>
</div>
</div>
</body>
</html>

Посмотреть пример в браузере

Пример: функция RAND () с использованием order by

Код:

 SELECT *  FROM category 
ORDER BY RAND();

объяснение

Приведенный выше оператор MySQL будет возвращать строки из таблицы категорий в случайном порядке.

Пример вывода:

 mysql> ВЫБРАТЬ * ИЗ категории 
    -> ЗАКАЗАТЬ ПО RAND ();
+ --------- + -------------- +
| cate_id | cate_descrip |
+ --------- + -------------- +
| CA001 | Наука | 
| CA005 | Медицинский | 
| CA003 | Компьютеры | 
| CA004 | Природа | 
| CA002 | Технологии | 
+ --------- + -------------- +
5 рядов в наборе (0,05 сек)
 

PHP скрипт

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>example-rand-function - php mysql examples | w3resource</title>
<meta name="description" content="example-rand-function - php mysql examples | w3resource">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>A list of categories and their descriptions in a random order:</h2>
<table class='table table-bordered'>
<tr>
<th>Category id</th><th>Description</th>
</tr>
<?php
$hostname="your_hostname";
$username="your_username";
$password="your_password";
$db = "your_dbname";
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
foreach($dbh->query('SELECT * FROM category ORDER BY RAND()') as $row) {
echo "<tr>";
echo "<td>" . $row['cate_id'] . "</td>";
echo "<td>" . $row['cate_descrip'] . "</td>";
echo "</tr>";
}
?>
</tbody></table>
</div>
</div>
</div>
</body>
</html>

Посмотреть пример в браузере

Все математические функции

«MySQL

Предыдущая: РАДИАНЫ ()
Далее: КРУГЛЫЙ ()

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code