Skip to main content

1,

L'ordre de mise en œuvre réel de la déclaration suivante
① SELECT [DISTINCT] ② FROM③ WHERE④ GROUP BY⑤ HAVING⑥ UNION⑦ ORDER BY


L'ordre de mise en œuvre réel de la phrase La commande suivante


① SELECT [DISTINCT] ② FROM③ WHERE④ GROUP BY⑤ HAVING⑥ UNION⑦ ORDER BY


Mise en œuvre des commandes de déclaration SQL:

À partir de → Où → → Groupes par → Oui → Sélectionnez → Définir → Alliance → Ordre




SELECT * from studentwhere name in (select name from student where name like "张%" group by name having avg(score) > 75);





--(1)如果不考虑少录入情况(比如张三只有2个课程,王五有3个课程)SELECT nameFROM xueshengGROUP BY nameHAVING MIN(score) > 80--(2)如果考虑学生的课程数大于等于3的情况SELECT nameFROM xueshengGROUP BY nameHAVING MIN(score) > 80AND COUNT(kecheng) >= 3





.

SELECT user_id ,sum(pay_amount) pay_amountFROM user_tradeWHERE year(dt)=2019GROUP BY user_id

SELECT a.user_name, b.city, b.sex, a.pay_amount, row_number() over(partition by b.city,b.sex order by a.pay_amount desc) rankFROM(SELECT user_id ,sum(pay_amount) pay_amount FROM user_order WHERE year(dt)=2019 GROUP BY user_id)aLEFT JOIN user_info b on a.user_id = b.user_idStep3:最后通过嵌套一个子查询,使用where子句作为筛选条件,筛选出Top10的用户即可;-- 4.每个城市、不同性别,2019年支付金额最高的TOP10用户 --SELECT c.user_name, c.city, c.sex, c.pay_amount, c.rankFROM(SELECT a.user_name, b.city, b.sex, a.pay_amount, row_number() over(partition by b.city,b.sex order by a.pay_amount desc) rank FROM (SELECT user_id ,sum(pay_amount) pay_amount FROM user_order WHERE year(dt)=2019 GROUP BY user_id)a LEFT JOIN user_info b on a.user_id = b.user_id)cWHERE c.rank<=10;


Nom: Étudiants . . . . . . ] 3, Utilisez la déclaration SQL pour interroger la table Xuesheng pour les étudiants par classe, plus de 80 Points [1) Vous ne considérez pas moins de situations d'entréePlus (comme 2 cours, Wang 5 a trois cours) (2) Si le nombre de cours considère que les élèves supérieurs ou égaux à 3 4, différentes villes, différents hommes de genre, 10 principaux utilisateurs en 2019 ont le montant de paiement le plus élevé (User_Info Informations de l'utilisateur; User_order User_order) Solution 1: Dans la carte d'information de commande, chaque utilisateur Peut répéter la commande afin de pouvoir obtenir tout l'utilisateur du montant de paiement en 2019; Étape 2: Table de commande de l'utilisateur et table d'informations utilisateur sont connectées par le champ Général user_id, obtenez un formulaire large, y compris la ville, le sexe, puis transmettez la fonction de fenêtre Row_Number sur les villes différentes, différentes notes de sexe;

Sujets

Catégories