"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment générer des valeurs aléatoires dans la plage de MySQL?

Comment générer des valeurs aléatoires dans la plage de MySQL?

Publié le 2025-04-12
Parcourir:464

How to Generate Random Values Within a Range in MySQL?

Obtention d'une valeur aléatoire dans une plage de mysql

introduction

Lorsque vous travaillez avec MySQL, il peut y avoir des instances où vous devez générer une valeur aléatoire qui se situe dans une plage spécifiée. Bien que la fonction rand () existe, elle ne répond pas à cette exigence. Cet article plonge dans la meilleure approche pour y parvenir dans MySql.

Solution:

La méthode optimale de MySql pour générer une valeur aléatoire dans une plage spécifiée est:

ROUND((RAND() * (max-min)) min)
  • Génère un nombre aléatoire entre 0 et 1.
  • max
  • : valeur maximale de la plage souhaitée.
  • min
: valeur minimale de la plage souhaitée. Round () est appliqué pour obtenir une valeur entière. nombre de valeurs. Le choix entre PHP et MySQL dépend du nombre de lignes traitées et si seule la valeur aléatoire est nécessaire ou que des colonnes supplémentaires seront renvoyées. `foo`

addendum: comparaison de performances

pour illustrer davantage les différences de performance, le script php suivant a été exécuté:

rand($min, $max)
Les résultats montrent que MySQL est plus rapide pour générer des valeurs aléatoires si seule la valeur aléatoire est nécessaire, mais plus lente si des colonnes supplémentaires sont renvoyées.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3