Comment utiliser la fonction somme pour filtrer les fonctions de fenêtre dans MYSQL
P粉186904731
P粉186904731 2023-08-30 22:03:52
0
2
590
<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粉186904731
P粉186904731

répondre à tous(2)
P粉877114798

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 
排序 按 总分 降序
P粉909476457

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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal