recherche

Maison  >  Questions et réponses  >  le corps du texte

mysql - Comment écrire deux SUM avec des conditions différentes dans une instruction SQL et trouver la différence entre les deux

Le tableau que j'utilise dans mon entreprise est le tableau du journal des points de l'utilisateur. Les champs sont l'identifiant de l'utilisateur, le type de point (ajouté à 1 et réduit à 2), les points, l'horodatage.
Je dois calculer le total des points de l'utilisateur chaque jour.
Je les ai d'abord divisés. Résumez les points positifs et négatifs, puis parcourez le tableau pour trouver la différence dans le programme back-end. C'est extrêmement inefficace. Je veux l'écrire dans une instruction SQL. ? Cas d'utilisation alors pour signaler une erreur

SUM(CASE type=1 THEN `score` ELSE 0-`score`)
阿神阿神2746 Il y a quelques jours786

répondre à tous(1)je répondrai

  • PHP中文网

    PHP中文网2017-05-24 11:35:10

    devrait être :

    SUM(IF(type = 1, score, -score))
    

    Ou écrivez plus verbeusement :

    SUM(CASE WHEN type = 1 THEN score ELSE -score END)

    répondre
    0
  • Annulerrépondre