CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[SQL] Deux requêtes (identiques?) qui...

256Ko
256Ko
Niveau 6
30 mai 2013 à 15:47:53

... ne retournent pas le même résultat.
Je comprends plus tout à fait là...

Voila, j'aimerais vraiment que quelqu'un m'éclaire, j'ai un problème assez bizarre (ou stupide peut être..), mais je n'arrive pas à le résoudre.

J'ai une table nommée "PAYER"
Image ici : http://goo.gl/V2FB4

Dans laquelle je souhaite récupérer le total de "NUMERO_REGLEMENT" distincts pour le "NUMERO_PAIEMENT" valant 69.

Mais ce qui est bizarre, c'est que quand je fais un SELECT COUNT(DISTINCT blabla)... le résultat retourné est 0 (alors que je devrais obtenir 1)
Image ici : http://goo.gl/WvVWk

Mais si je passe par l'imbrication, je n'ai plus ce souci :
Image ici : http://goo.gl/ZSH3D

Est-ce que vous auriez une idée de ce qui pourrait poser problème? :/

Merci d'avance et bon après midi,
256Ko.

_skip
_skip
Niveau 10
30 mai 2013 à 16:15:41

J'ai essayé parce que ça me semblait trop bizarre :

CREATE TABLE IF NOT EXISTS `test` (
`NO_PAIEMENT` int(11) NOT NULL,
`NO_FACTURE` int(11) NOT NULL
) ;

INSERT INTO test( `NO_PAIEMENT`, `NO_FACTURE`)
VALUES (5,68), (6,69);

SELECT count( no_paiement )
FROM test
WHERE no_facture =69;

SELECT count( DISTINCT no_paiement )
FROM test
WHERE no_facture =69;

j obtiens "1" toujours

256Ko
256Ko
Niveau 6
30 mai 2013 à 16:37:29

Sur StackOverflow (http://goo.gl/ZmFv5) aussi un gentil testeur a confirmé que pour lui, ça marchait, le problème, c'est que de mon côté, j'ai toujours ce souci.

Le plus étrange, c'est que :
SELECT COUNT(DISTINCT NUMERO_REGLEMENT)
FROM PAYER
WHERE NUMERO_PAIEMENT=68

Retourne bien "1"

Et que si j'inverse NUMERO_PAIEMENT et NUMERO_REGLEMENT, donc :
SELECT COUNT(DISTINCT NUMERO_PAIEMENT)
FROM PAYER
WHERE NUMERO_REGLEMENT=6

J'obtiens aussi "1"

Du coup, je ne sais plus où regarder.

_skip
_skip
Niveau 10
30 mai 2013 à 16:41:22

On peut essayer un truc tout con en désespoir de cause :

1) Lancer une maintenance complète (ANALYZE, VACCUM) et compagnie et réessayer.
2) Carrément exporter la base en SQL et la recréer, puis réessayer.

C'est maigre mais vraiment je vois pas pourquoi ça fonctionnerait pas.

256Ko
256Ko
Niveau 6
30 mai 2013 à 17:30:39

Même après suppression de la table puis réimportation, j'ai toujours le même problème.
Pareil pour l'ANALYZE, rien d'anormal selon MySQL...

Vraiment incompréhensible

_skip
_skip
Niveau 10
30 mai 2013 à 17:47:20

T'as une version récente de mysql?

256Ko
256Ko
Niveau 6
30 mai 2013 à 20:26:08

J'ai la 5.5.25a, mais le SELECT(DISTINCT X) a toujours fonctionné jusque là, et ne pose problème, ici, que pour un champ d'un tuple

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment