51Testing软件测试论坛

标题: 游戏测试-数据库语句 [打印本页]

作者: 悠悠小仙仙    时间: 2019-3-21 15:28
标题: 游戏测试-数据库语句
select id,name,energy from db_name where engrgy between '100' and '201'
对输出的内容进行1次排序 需要使用order by asc为从小到大 从大到小为desc
select id,name,energy from db_name where engrgy between '100' and '201' order by energy asc
从小到大的排列出100和201的
order by后的列名也可以用查询结果的列的数字来排序,从1开始,既这个结果。
select id,name,energy from db_name where engrgy between '100' and '201' order by 3 asc


查询上面 使用sql函数计算1个查询区间 engrgy之和 sum的函数
select id,name,energy from db_name where engrgy between '100' and '201' order by 3 asc 变更语句为
select id,name,sum(energy) from db_name where engrgy between '100' and '201' order by 3 asc
max的用法也一样


select id,name,max(energy) from db_name where engrgy between '100' and '201' order by 3 asc
还可以同时看几个条件的,不过这个时候id和name也无效了。
查询并不会改变结果
select id,name,max(energy),min(energy),avg(energy) from db_name where engrgy between '100' and '201' order by 3 asc


测试需要知道你需要查询的关键的字段是什么
还是用energy
查看计数多少,当然也可以看输出台有多少line
select id,name,count(energy) from db_name where engrgy between '100' and '201' order by 3 asc
输出结果为
id name count(energy)
设计到函数的
id这里是唯一的,所以不适合。这里我们要改下规则id可以多次出现但关联name
select id,name,sum(energy) from db_name group by id
对同id的体力进行相加。
排列出大于1000的energy 延伸为如下
因为涉及到函数
select id,name,sum(energy) from db_name group by id having sum(energy) >1000


多表查询
我们分别要查1个竞技场db_arena 和用户表db_role 这2个表关联性强
找到唯一的字段 id
以rank进行排序
select role.id,role.name,arena.rank,role.name,role.energy from db_arena arena,db_role role where role.id = arena.id group bu bank
输入结果包含2张表的内容。



作者: 周柏豪i    时间: 2019-5-28 11:09
老哥 这个一般怎么能用到呀
作者: lysslcy    时间: 2020-9-28 09:57
本帖最后由 lysslcy 于 2020-9-28 10:39 编辑
周柏豪i 发表于 2019-5-28 11:09
老哥 这个一般怎么能用到呀

这个是数据库的查询语句

作者: jiazurongyu    时间: 2021-2-26 11:27
数据库 可以了解下orm的部分




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2