查询特定条件: db.mytable.find({age:20})----查询年龄为20的数据
查询并返回数据: db.mytable.fing({age:20},{name:1})----查询年龄为20的数据,返回其name字段
db.mytable.fing({age:20},{name:0})----查询年龄为20的数据,除了name返回其他字段。
db.mytable.find({age:7,name:"amy"},{name:1,age:1})查询name为amy,年龄为7的记录,返回name和age字段。
查询第一条数据: db.mytable.findOne()
筛选查询: db.mytable.find({age:{$gl:20}})----查询年龄大于30的数据;对应的ls为小于。
db.mytable.find({$or[{name:"amy"},{age:10}]})----查询name为amy,或者年龄为10的数据;函数中的层级:{}查询条件,$or[]表达式,{}表达式条件。
db.mytable.find({$nor[{name:"amy"},{name:"jenny"}]})--查询name不为Amy也不为jenny的数据。
db.mytable.find({price:{$all:[1,2]}})--查询数组prince中所有包含1和包含2的数据。
db.mytable.find({prince:{$in:[1,2]}})--查询prince中的含有1和含有2的数据。
dbmytable.find({prince:{$nin:[1,2]}})--查询prince中不含1并且不含2的数据。
分页:
db.mytable.find().skip(0).limit(10)--查询跳过0条数据后的10条数据。
创建表插入数据create table a(序号 int,单位 varchar(10),工作 varchar(10),得分 int,打分 varchar(10)) insert into a values (1,'财务','gz1',100,'黎明')insert into a values (2,'财务','gz2',90,'黎明')insert into a values (3,'财务','gz3',80,'黎明')insert into a values (4,'销售','gz4',70,'黎明')insert into a values (5,'销售','gz5',60,'黎明')insert into a values (6,'销售','gz6',50,'黎明')insert into a values (7,'人事','gz7',40,'黎明')insert into a values (8,'人事','gz8',30,'黎明')insert into a values (9,'人事','gz9',20,'黎明')insert into a values (10,'财务','gz1',88,'赵一')insert into a values (11,'财务','gz2',86,'赵一')insert into a values (12,'财务','gz3',78,'赵一')insert into a values (13,'销售','gz4',90,'赵一')insert into a values (14,'销售','gz5',64,'赵一')insert into a values (15,'销售','gz6',85,'赵一')insert into a values (16,'人事','gz7',90,'赵一')insert into a values (17,'人事','gz8',43,'赵一')insert into a values (18,'人事','gz9',68,'赵一')
执行:
select 单位,工作,sum(case when 打分='黎明' then 得分 else 0 end) 黎明,sum(case when 打分='赵一' then 得分 else 0 end) 赵一from a group by 单位,工作
结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)