SQL查询MySQL笔记

        在使用数据库进行数据查询的过程中,经常用到查看数据列备注信息、某列数据中相同数据出现次数、根据某列数据中相同的数据进行统计、分段查询等操作,在此以一个形象的例子做一个记录。

        以下表数据为例,表格数据为不同书中的人物信息。数据库类型为MySQL,数据库名称为testDB,表名为t_people。

        使用到的几个查询语句如下所述。

        1、查看不同列的备注信息

        SQL语句:SELECT COLUMN_COMMENT as '备注信息' FROM information_schema.COLUMNS WHERETABLE_NAME='t_people'

        结果:

        2、查看列名、数据类型和备注信息

        SQL语句:SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT FROMinformation_schema.columns WHERE table_name = 't_people'

        结果:

        3、查看不同的书名

        SQL语句:select DISTINCT(bookname) FROM testDB.t_people

        结果:

        4、查看出现的书的数量

        SQL语句:select count(DISTINCT(bookname)) FROM testDB.t_people

        结果:

        5、统计不同书中名字的数量并排序

        SQL语句:SELECT bookname as '书名',count(all(bookname)) as '人物数量' FROM testDB.t_people group by bookname order bycount(all(bookname)) desc;

        结果:

        6、分段查询再组合

        SQL语句:

        SELECT"三国演义" as书名, count(*) as num FROMtestDB.t_people where (bookname='三国演义')

        unionall

        SELECT"水浒传",count(*) as num FROMtestDB.t_people where (bookname='水浒传')

        unionall

        SELECT"西游记",count(*) as num FROM testDB.t_peoplewhere (bookname='西游记')

        结果:

        7、查看人物统计大于3的书,并显示有多少人物记录数(一个表td中的部分ID有多个记录,把所有有多个记录的id查出来,并显示共有多少条记录数)

        SQL语句:SELECT bookname, count(*)from testDB.t_people group by bookname having count(*) >3;

        或

        SELECT *from(select bookname, count(bookname) as count from testDB.t_people group bybookname)T where T.count>3;

        结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值