J'ai une table nommée Ce que je veux faire est de compter la quantité de type rock à chaque date, mais je veux la date de Don 't avoir la pierre existe toujours et la valeur est null. p> donc j'utilise cette requête p> et le résultat devient p> sismik code> âââââââââââââââââ¦âââââââââââ¦ââââââââââ
â date â type â freq â
â ââââââââââââââââ¬âââââââââââ¬ââââââââââ£
â 2019-04-01 â rock â 1 â
â 2019-04-02 â rock â 2 â
â 2019-04-03 â null â null â <- This
â 2019-04-04 â rock â 1 â
âââââââââââââââââ©âââââââââââ©ââââââââââ
3 Réponses :
Utilisez le cas sortie: p> lorsque code> et supprimez le où code> condition
+1 Pour la mise à jour, j'ai aussi besoin de café, lorsque je lisais votre mise à jour, je remarquais que je faisais la très dure de l'utilisation d'une jointure croisée pour générer totalement l'enregistrement manquant de la méthode plus facile et oublié que max ( ) code> produit une valeur null code>.
Dans votre requête, vous sélectionnez toutes les entrées, qui ont le type "Rock". Si vous voulez également vouloir obtenir ceux avec type NULL, vous devrez supprimer votre clause. P>
groupe invalide par, tapez n'est pas dans le groupe par
select s.Date,e.type,count(e.type)/4 FROM seismik as s left join seismik as e on e.type = s.type and e.type='rock' GROUP BY date; Result:- 2019-04-01 rock 1.0000 2019-04-02 rock 2.0000 2019-04-04 rock 1.0000 2019-04-03 0.0000
"SQL-92 et plus tôt ne permettent pas aux requêtes pour lesquelles la liste de sélection, la condition ou la commande par liste se réfèrent à des colonnes non contagieuses qui ne sont pas nommées dans le groupe par clause" i> voir manuel , votre requête est invalide.Aussi avec une dépendance fonctionnelle qui ne peut pas être utilisé sur ces données.
Sans une clé primaire, vous n'avez pas vraiment de table.