Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1537 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recuperer les 10 derniers enregistrements puis en prendre 4 aléatoirem

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recuperer les 10 derniers enregistrements puis en prendre 4 aléatoirem

n°1969156
johnson950
Posté le 25-02-2010 à 11:11:03  profilanswer
 

Bonjour,
 
Petite problématique MYSQL à vous exposer :
 
Comment peut on en une requête, récupérer les 10 derniers enregistrements d'une table et en prendre 4 aléatoirement sur les 10.
 
La table "test" est constituée de deux champs 'id' et 'date'.
 
la requête pour récupérer les 10 derniers champs et la suivante

Code :
  1. select id from test ORDER BY date DESC LIMIT 10;


 
Mais comment faire pour ensuite récupérer 4 enregistrements aleatoirement sur les 10.
 
Merci !

mood
Publicité
Posté le 25-02-2010 à 11:11:03  profilanswer
 

n°1969160
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-02-2010 à 11:17:33  profilanswer
 

comme ça ? (pas testé, à la louche)

Code :
  1. SELECT id
  2. FROM test
  3. WHERE id IN (SELECT id FROM test ORDER BY date DESC LIMIT 10) ORDER BY RAND() LIMIT 4


---------------
J'ai un string dans l'array (Paris Hilton)
n°1969162
johnson950
Posté le 25-02-2010 à 11:26:16  profilanswer
 

Merci de ton aide mais ma version de mysql ne supporte pas le LIMIT avec un IN.

Code :
  1. This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

n°1969169
johnson950
Posté le 25-02-2010 à 11:48:17  profilanswer
 

Code :
  1. SELECT * FROM (SELECT id FROM test ORDER BY date DESC LIMIT 10) as a ORDER BY RAND() LIMIT 4;

n°1969176
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-02-2010 à 12:10:22  profilanswer
 

c'était la 1ere solution que j'avais en tête, je sais qu'elle marche sous SQL Server, mais je savais pas si elle marchait sous MySQL :D


---------------
J'ai un string dans l'array (Paris Hilton)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recuperer les 10 derniers enregistrements puis en prendre 4 aléatoirem

 

Sujets relatifs
[Résolu] Date Picker : récupérer la valeur DateRécuperer le spectre entrée audio
Recuperer le texte d'un iframe dans variable :(Recuperer un code source côté client .. :(
Récupérer update XMLHttpRequestRécupèrer le numèro d'un processus sous linux
recuperer un parametre d'un form multipartrecuperer une police d une calculatrice
[VBA] Récupérer le nombre de pages d'une feuillerecuperer le nb de frames d'un flv
Plus de sujets relatifs à : Recuperer les 10 derniers enregistrements puis en prendre 4 aléatoirem


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR