IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Requête complexe pour remplir une plage


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Points : 43
    Points
    43
    Par défaut Requête complexe pour remplir une plage
    Bonjour à tous,

    En pleine conception d'un programme, je suis en train de faire un fichier qui remplira une plage horaire avec des données. Je vais essayer de faire des schémas pour expliquer :

    Imaginons une plage horaire de 3h (3x 3600 = 10800 secondes) :

    Je dispose dans la base de données de champs - correspondants chacun à un titre musical - dont la durée est en secondes (exemple : 305 sec, 105 sec).

    Je souhaiterais remplir la plage avec les titres de la base pour que cela se rapproche au plus (disons à +/- 10sec) de la durée de la plage.

    A savoir que je ne suis pas obligé de le faire en une seule requête.

    PLAGE DE 10800 SEC.
    <-------------------------------------------------------------->
    <- t1 -><-- t2 --><- t3 -><--- t4 ---><- t5 -> <- t6 -><- t7 ->

    Avez-vous une idée de la meilleure facon de procéder ?

    Merci à vous,
    Nico.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 756
    Points : 52 534
    Points
    52 534
    Billets dans le blog
    5
    Par défaut
    Pour réaliser ce traitement de manière optimum, dont l'algorithme est du domaine de la recherche opérationnelle (meilleur remplissage, algorithme dit du havresac ou knapsask an anglais), il faut disposer de requêtes récursives ce qui n'est pas le cas de MySQL dont le SQL en est encore à quelques années lumières ne serait-ce que de PostGreSQL !!!

    Sur les manques de MySQL : http://blog.developpez.com/sqlpro/p9...udre-aux-yeux/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [AC-2003] Requête pour remplir une table à partir d'un fichier Excel
    Par olivier777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/09/2009, 10h52
  2. Requête SQL pour remplir une zone de texte déroulante
    Par uranium-design dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/10/2007, 12h15
  3. macro pour remplire une liste dans une même cellule
    Par fabiend83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/07/2006, 09h32
  4. Requête SQL pour insérer une donnée BINAIRE ?
    Par Najdar dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/05/2006, 10h21
  5. [VBA-Excel]Problème pour remplir une listview
    Par Le Djé dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/01/2006, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo