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

Comment utiliser la fonction somme pour filtrer les fonctions de fenêtre dans MYSQL

<p>Comment puis-je écrire cette requête pour filtrer uniquement les résultats dont la somme est supérieure à 50 ? Je n'arrive pas à le faire fonctionner en utilisant avoir ou sum, mais je suis sûr qu'il existe un moyen. </p> <pre class="brush:php;toolbar:false;">sélectionner le nom, la somme (score) à partir des soumissions, rejoignez le hacker interne sur submits.hacker_id = hacker.hacker_id grouper par soumissions.hacker_id trier par somme(score) desc ayant une somme (score) > 50</pre> <p>Voici un exemple avec une table (la table n'a rien de spécial, cette requête s'exécute sans la dernière ligne, mais renvoie le score et le nom de chacun) : http://sqlfiddle.com/# !9/7a660d/ 16&Lt ;/p> ;
P粉186904731P粉186904731438 Il y a quelques jours563

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

  • P粉877114798

    P粉8771147982023-08-31 15:51:51

    Order by devrait être en dernier

    select name, sum(score) 
    from submissions 
    inner join hacker on submissions.hacker_id = hacker.hacker_id
    group by submissions.hacker_id
    having sum(score) > 50 
    order by sum(score) desc

    Trier comme il se doit en dernier

    选择 名称, 总分
    从 提交
    内连接 黑客 on 提交.黑客编号 = 黑客.黑客编号
    分组 按 提交.黑客编号
    筛选 总分 > 50 
    排序 按 总分 降序

    répondre
    0
  • P粉909476457

    P粉9094764572023-08-31 00:57:15

    Votre commande doit être effectuée après votre consommation. C'est à dire :

    select 
        name, 
        sum(score) 
    from 
        submissions 
    inner join 
        hacker on submissions.hacker_id = hacker.hacker_id
    group by 
        submissions.hacker_id
    having 
        sum(score) > 50 
    order by 
        sum(score) desc
    

    répondre
    0
  • Annulerrépondre