悠悠小仙仙 发表于 2019-3-21 15:28:49

游戏测试-数据库语句

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:06

老哥 这个一般怎么能用到呀

lysslcy 发表于 2020-9-28 09:57:45

本帖最后由 lysslcy 于 2020-9-28 10:39 编辑

周柏豪i 发表于 2019-5-28 11:09
老哥 这个一般怎么能用到呀
这个是数据库的查询语句

jiazurongyu 发表于 2021-2-26 11:27:05

数据库 可以了解下orm的部分
页: [1]
查看完整版本: 游戏测试-数据库语句