ma table et ses valeurs sont p> maintenant, je vais regrouper la table mais retourne la valeur dans 0
Pendant le groupe, la table renvoie chacune et toutes les valeurs de colonne se rendent dans 0.
Pourquoi c'est arrivé. J'ai besoin de cadeau ou d'absence au lieu de 0.
Quelqu'un peut-il résoudre cette erreur logique? P>
3 Réponses :
somme (cas quand heure = 'p1' puis statut ailleurs 'null' end) p1 code> p> p>
Le problème est que vous résumez des numéros et litière string em>
'null' code>. p>
vous voulait
null code> ( Sans citations) - ou mieux encore,
0 code> p>
xxx pré> Notez que dans MySQL évalue les conditions vraies / fastes comme 1/0 dans le contexte numérique, ce qui permet raccourcir l'expression comme: p>
xxx pré> blockquote>
même résultat affiché
@Technosubbu: Faites attention au boîtier de caractère supérieur / inférieur. Vous êtes en minuscule ( p1 code>), mais il semble que certaines de vos expressions ont la majuscule (
p1 code>).
Il retourne 0/1 mais j'ai besoin de "présent" ou "absent" au lieu de 1/0
ok j'ai regardé et converti en minuscule merci. S'il vous plaît résoudre ci-dessus commentaire
create view attendance1 as( select attendance.stuid, case when hour="p1" then status end as p1, case when hour="p2" then status end as p2, case when hour="p3" then status end as p3, case when hour="p4" then status end as p4, case when hour="p5" then status end as p5, case when hour="p6" then status end as p6, case when hour="p7" then status end as p7, case when hour="p8" then status end as p8 from attendance); select * from attendance1; mysql> select * from attendance1; +-----+------+------+------+------+------------+------+-------+---------+---------+---------+------+------+------+---------+------+---------+ | aid | sid | cid | ttid | did | date | hour | stuid | status | p1 | p2 | p3 | p4 | p5 | p6 | p7 | p8 | +-----+------+------+------+------+------------+------+-------+---------+---------+---------+------+------+------+---------+------+---------+ | 1 | 2 | 13 | 4 | 3 | 2020-03-25 | p1 | 16 | present | present | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 2 | 2 | 13 | 4 | 3 | 2020-03-25 | p1 | 17 | absent | absent | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 3 | 2 | 13 | 4 | 3 | 2020-03-25 | p1 | 18 | present | present | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 4 | 2 | 13 | 4 | 3 | 2020-03-25 | p1 | 19 | absent | absent | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 5 | 2 | 13 | 4 | 3 | 2020-03-25 | p1 | 20 | present | present | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 6 | 2 | 13 | 4 | 3 | 2020-03-25 | p1 | 15 | absent | absent | NULL | NULL | NULL | NULL | NULL | NULL | NULL | | 7 | 2 | 13 | 2 | 2 | 2020-03-17 | p6 | 16 | present | NULL | NULL | NULL | NULL | NULL | present | NULL | NULL | | 8 | 2 | 13 | 2 | 2 | 2020-03-17 | p6 | 17 | absent | NULL | NULL | NULL | NULL | NULL | absent | NULL | NULL | | 9 | 2 | 13 | 2 | 2 | 2020-03-17 | p6 | 18 | present | NULL | NULL | NULL | NULL | NULL | present | NULL | NULL | | 10 | 2 | 13 | 2 | 2 | 2020-03-17 | p6 | 19 | absent | NULL | NULL | NULL | NULL | NULL | absent | NULL | NULL | | 11 | 2 | 13 | 2 | 2 | 2020-03-17 | p6 | 20 | present | NULL | NULL | NULL | NULL | NULL | present | NULL | NULL | | 12 | 2 | 13 | 2 | 2 | 2020-03-17 | p6 | 15 | absent | NULL | NULL | NULL | NULL | NULL | absent | NULL | NULL | | 13 | 2 | 13 | 4 | 3 | 2020-03-25 | p2 | 16 | present | NULL | present | NULL | NULL | NULL | NULL | NULL | NULL | | 14 | 2 | 13 | 4 | 3 | 2020-03-25 | p2 | 17 | present | NULL | present | NULL | NULL | NULL | NULL | NULL | NULL | | 15 | 2 | 13 | 4 | 3 | 2020-03-25 | p2 | 18 | present | NULL | present | NULL | NULL | NULL | NULL | NULL | NULL | | 16 | 2 | 13 | 4 | 3 | 2020-03-25 | p2 | 19 | present | NULL | present | NULL | NULL | NULL | NULL | NULL | NULL | | 17 | 2 | 13 | 4 | 3 | 2020-03-25 | p2 | 20 | present | NULL | present | NULL | NULL | NULL | NULL | NULL | NULL | | 18 | 2 | 13 | 4 | 3 | 2020-03-25 | p2 | 15 | present | NULL | present | NULL | NULL | NULL | NULL | NULL | NULL | | 19 | 2 | 13 | 4 | 3 | 2020-03-25 | p8 | 16 | absent | NULL | NULL | NULL | NULL | NULL | NULL | NULL | absent | | 20 | 2 | 13 | 4 | 3 | 2020-03-25 | p8 | 17 | absent | NULL | NULL | NULL | NULL | NULL | NULL | NULL | absent | | 21 | 2 | 13 | 4 | 3 | 2020-03-25 | p8 | 18 | present | NULL | NULL | NULL | NULL | NULL | NULL | NULL | present | | 22 | 2 | 13 | 4 | 3 | 2020-03-25 | p8 | 19 | present | NULL | NULL | NULL | NULL | NULL | NULL | NULL | present | | 23 | 2 | 13 | 4 | 3 | 2020-03-25 | p8 | 20 | present | NULL | NULL | NULL | NULL | NULL | NULL | NULL | present | | 24 | 2 | 13 | 4 | 3 | 2020-03-25 | p8 | 15 | absent | NULL | NULL | NULL | NULL | NULL | NULL | NULL | absent | +-----+------+------+------+------+------------+------+-------+---------+---------+---------+------+------+------+---------+------+---------+ 24 rows in set (0.02 sec)
Enfin j'ai trouvé une solution basée sur des erreurs précédentes en fonction de la première vue, je créerai une deuxième vue p> merci pour précédent questions répondues à la personne. P> p>
Faire pas b> code postal comme image! Collez le texte dans la question.
Avec des problèmes SQL, il est vraiment utile si vous montrez le schéma d'une manière que nous puissions créer une table, avec des données de test si possible localement pour tester une réponse. Alors essayez
show créer une table votretablename; code> et copier / coller la sortie sur votre question
Votre requête n'est pas valide quand même. Vous avez eu beaucoup de colonnes ni dans le groupe
par code> ni d'appliquer une fonction d'agrégation. Les versions MySQL plus anciennes ou les mauvaises configuries permettent que, avec des résultats éventuellement aléatoires et indésirables.