Accueil > Forum > > > > Relevez le défi - SQL pour loterie
Relevez le défi - SQL pour loterie
vendredi 16 septembre 2005 à 17:42:43 |
Relevez le défi - SQL pour loterie

bergueira
|
Bonjour.
J' ai mis en sujet 'Relevez le défi car je crois que c' est vraiment un défi ce que je vaux ! ;) ).
J' ai besoin d'un query (en SQL pour la placer dans mon code java qui se connecte à une base de données MySql) qui me permette de selectionner les gagnants des concours. - Chaque joueur selecctionne 6 numéros (C1, C2, C3, C4, C5, C6) par bulettin; - Le tirage a 6 numéros (N1, N2, N3, N4, N5, N6); - Il y a les classements suivants: * Premier prix: les joueurs qui ont les 6 numéros; * Deuxième prix: les joueurs qui ont 5 numéros; * Troisième prix: les joueurs qui ont 4 numéros; * Quatrième prix: les joueurs qui ont 2 numéros;
J' aimerais avoir comme résultats les bulletins avec leur prix correspondant; Atention qu' un seul prix (le plus haut) ne peut-être présenté par bulletin (et non pas, par exemple, un deuxième prix + 3 troisième prix + 12 quatrième prix).
Merci d' avance à tous.
Carlos Bergueira
|
|
lundi 26 septembre 2005 à 16:35:40 |
Re : Relevez le défi - SQL pour loterie

DuckyLuke
|
Voilà une solution possible:
La première requête crée une table temporaire (écrase la table existante si elle existe déjà) avec le nom du joueur et 6 colonnes.
Dans la première colonne, on met 1 si le numéro correspond à un numéro de la table tirage. Sinon, on met 0
On fait parait avec les 5 autres colonnes...
Ensuite on lance une requête sur la table temporaire créée pour afficher les joueurs gagnants. (On filtre sur 3 numéros trouvés minimum)
-- *****Création de la table d'analyse des tirages*****
SELECT nom,
(IIF(C1 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR1,
(IIF(C2 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR2,
(IIF(C3 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR3,
(IIF(C4 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR4,
(IIF(C5 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR5,
(IIF(C6 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR6
INTO TEMP_TABLE
FROM joueur, tirage
;
-- *****Affichage des résultats par joueurs gagnants (par nombres de numéros trouvés)*****
SELECT nom, SUM(EXPR1 + EXPR2 + EXPR3 + EXPR4 + EXPR5 + EXPR6) As NB_NUM
FROM TEMP_TABLE
GROUP BY nom
HAVING Sum(EXPR1+EXPR2+EXPR3+EXPR4+EXPR5+EXPR6) > 2
ORDER BY Sum(EXPR1+EXPR2+EXPR3+EXPR4+EXPR5+EXPR6) DESC
;
Voilà voilà... pas très compliqué... :P
|
|
lundi 26 septembre 2005 à 18:46:40 |
Re : Relevez le défi - SQL pour loterie

bergueira
|
Je te remercie pour ton aide, mais ce que je veux est un peu plus 'complexe'. Je veux un query optimizé. Trés très rapide ! En créant une table je perds bcp de temps; c' est une des possibilitées mais ce n' est pas la plus rapide.
Je te remercie quand même pour ton aide !
Si qq a une autre idée... je suis prennant ! ;)
Merci.
Carlos Bergueira
|
|
mardi 27 septembre 2005 à 09:49:19 |
Re : Relevez le défi - SQL pour loterie

DuckyLuke
|
Si tu ne donnes pas toutes les infos tu peux pas t'attendre à avoir la bonne réponse du premier coup...
Si tu creuses un peu la requête ci-dessus, tu arriveras vite au résultat suivant:
SELECT nom,
SUM(
(IIF(C1 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C2 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C3 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C4 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C5 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C6 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0))
) AS NB_NUM
FROM joueur, tirage
GROUP BY nom
ORDER BY SUM(
(IIF(C1 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C2 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C3 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C4 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C5 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) +
(IIF(C6 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0))
) DESC
;
Facile... :P
|
|
Cette discussion est classée dans : sql, prix, joueurs, défi, numéros
Répondre à ce message
Sujets en rapport avec ce message
Date dans sql server 2000 [ par Boudchiche ]
Salut Avant je vous juste vous dire que j'ai chercher pendant 2 jours soit par google et dans le forum mais je n'ai rien trouvece que s'est que lorsqu
requête sql (update avec deux bases) [ par jee0404 ]
Bonjour, Je veux pouvoir updater le prix de mes enregistrements de la base de donnée 1 avec les prix de la base de donné 2 , si le champ it
authentification SQL server [ par 1zigoto ]
Bonjour à tous, Dans Enterprise Manager j'ai besoin d'enregistrer mon serveur local dans un groupe et de m'
requete SQL [ par djodjo07 ]
Je cherche une requete SQL pour trier mes ID.. en fait j'aimerais par exemple récupérer des données a partir de l'ID 40 ! Je débute ! Merci
Programme SQL [ par lapucedu88 ]
Bonjour, je suis en deuxiém année de BTS informatique de gestion et je dois réaliser un petit programme SQL.Je sais créer des procédures et des foncti
Erreur de test...SQL Server [ par cid019 ]
voila l'erreur que j'ai lorsque j'essai d'executer la requete suivante:iif(param = val, val1, sum(val2))[BC30201] Expression expected est l'erreurJe n
SQL : probleme de not in [ par bliss_00 ]
Bonjour à tous,je voudrais éxécuter une requête SQL sur une BdD mysql mais apparemment il y aurait une erreur de syntaxe. Je ne suis pas sûr de la syn
Déplacement des bases master, msdb, model, tempdb avec SQL SERVER 7 [ par RXG ]
Bonjour,Je dois réinstaller un serveur de données SQL SERVER 7 mais l'architecture physique entre l'ancien serveur et le nouveau est différente. Il fa
procedure pour travailler sur les DATES [ par Bowen123 ]
Bonjour,Sous SQL SERVER,J'ai une table comprenant une Ligne par demi journée (tbl_CALENDRIER) défini par une date et un indice de demijournée (0 ou 1)
script asp pour rafraichir sql serveur [ par gregorstevens69 ]
Bonjour,quelqu'un connait il un script ASP(si possible) pour rafraichir une bd sql serveur.J'ai un script qui créé des tables mais lorsqu'un utilisate
Livres en rapport
|
Derniers Blogs
FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante [ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
RE : INDEXRE : INDEX par nhervagault
Cliquez pour lire la suite par nhervagault RE : SQLRE : SQL par nhervagault
Cliquez pour lire la suite par nhervagault INDEXINDEX par crn_c21
Cliquez pour lire la suite par crn_c21 REQUETE D'AJOUTREQUETE D'AJOUT par monikk
Cliquez pour lire la suite par monikk
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|