您的位置:首页 > 数据库 > MySQL

SQL查询MySQL笔记

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

        以下表数据为例,表格数据为不同书中的人物信息。数据库类型为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;

        结果:



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql