一道实例让你学会Mysql基础查询(二)

1.接着我们上面那道案例我们继续对Mysql进行深入了解

表中数据也没有变,唯一变的就是加了身高

 2.sql命令

#计算男性和女性的人数
SELECT COUNT(*) FROM first_biao GROUP BY genders;

#显示性别对应的人数
SELECT genders '性别',NAME,COUNT(*) FROM first_biao GROUP BY genders;

#显示所有的姓名
SELECT genders '性别',GROUP_CONCAT(NAME),COUNT(*) FROM first_biao GROUP BY genders;

#总和
SELECT genders,COUNT(*) FROM first_biao GROUP BY genders WITH ROLLUP;

#显示总计
SELECT IFNULL(genders,'总和')AS '性别',COUNT(*) FROM first_biao GROUP BY genders WITH ROLLUP;

#查询组内的年龄姓名
SELECT genders AS '性别',GROUP_CONCAT(NAME,age) FROM first_biao GROUP BY genders;

#让年龄和姓名一一对应
SELECT genders AS '性别',GROUP_CONCAT(NAME,":",age) FROM first_biao GROUP BY genders;

#查询男性,女性,保密总数大于2
SELECT genders,COUNT(*) FROM first_biao GROUP BY genders HAVING COUNT(*)>2;

#查询男性,女性平均年龄超过18岁的性别,以及姓名(大于18并且是男性或者女性)
SELECT genders,AVG(age),GROUP_CONCAT(NAME) FROM first_biao GROUP BY genders HAVING AVG(age)>18 AND (genders=1 OR genders=2);

#添加height字段
ALTER TABLE first_biao ADD height FLOAT;

#查询年龄在18到26之间的男人物,按照年龄从小到大排序
SELECT * FROM first_biao WHERE (age BETWEEN 18 AND 26) AND genders=1 ORDER BY age;

SELECT * FROM first_biao WHERE (age BETWEEN 18 AND 26) AND genders=1 ORDER BY age ASC;

#查询年龄在18到21之间的男人物,排序年龄从大到小排序
SELECT * FROM first_biao WHERE (age BETWEEN 18 AND 21) AND genders=1 ORDER BY age DESC;

#查询年龄在18-23之间的男性,年龄从高到低降序,当年龄相同时,按照身高从高到低排序
SELECT genders,NAME,height,age FROM first_biao WHERE (age BETWEEN 18 AND 23) AND genders=1 ORDER BY age DESC, height DESC;


#limit限制
#显示id=1和2的人物
SELECT * FROM first_biao LIMIT 2;

#显示id为2,3,4,5的人物
SELECT * FROM first_biao LIMIT 1,4;

#一页显示3条数据,一共三页,
SELECT * FROM first_biao LIMIT 0,3;
SELECT * FROM first_biao LIMIT 3,3;
SELECT * FROM first_biao LIMIT 6,3;

#表与表连接
SELECT * FROM first_biao INNER JOIN sececond;

#查询人物中最高身高的男性信息
SELECT * FROM first_biao WHERE height=1.89;

#不确定身高情况下,查询最高男性信息
SELECT MAX(height) FROM first_biao WHERE genders=1;

#显示最高身高还有姓名
SELECT NAME,MAX(height) FROM first_biao WHERE id=2;

#子查询
SELECT NAME,height FROM first_biao WHERE height=(SELECT MAX(height) FROM first_biao WHERE genders=1);

#查询高于平均身高的学生信息
SELECT * FROM first_biao WHERE height>(SELECT AVG(height) FROM first_biao);

#查询年龄最大的男性
SELECT * FROM first_biao WHERE genders=1 AND age=(SELECT MAX(age) FROM first_biao);

#查询最大年龄的男性
SELECT * FROM first_biao WHERE genders=1 AND age=(SELECT MAX(age) FROM first_biao WHERE genders=1);

3.ok,今天就到这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Starry__.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值