数据库去除某几个字段相同值的行
来源:互联网 发布:sql相加函数 编辑:程序博客网 时间:2024/06/03 14:27
Sqlserver数据库学习:
1.如何设计表的主键Id自增
新建一个表t_test,其中主键字段id,设置其为自增,自增步长为1
在标识规范下拉菜单中选择是,默认步长为1,可以修改
2.在表插入若干条数据
<span style="font-size:18px;">insert into t_test(name,score,sex) values ('b','2','2')insert into t_test(name,score,sex) values ('c','3','3')insert into t_test(name,score,sex) values ('d','4','4')insert into t_test(name,score,sex) values ('e','4','5')insert into t_test(name,score,sex) values ('e','4','6')insert into t_test(name,score,sex) values ('f','5','7')insert into t_test(name,score,sex) values ('g','6','8')insert into t_test(name,score,sex) values ('h','7','9')insert into t_test(name,score,sex) values ('q','8','10')insert into t_test(name,score,sex) values ('w','8','11')insert into t_test(name,score,sex) values ('r','9','12')</span>
t_test数据如下:
基础的表和数据已经做好了.
2.表中数据统计
1.统计name相同的记录数据
<span style="font-size:18px;">select distinct name ,COUNT(name) countfrom t_testgroup by name</span>结果:
2.统计name和score相同的记录数据
<span style="font-size:18px;">select * from t_test a,t_test bwhere a.name = b.name and a.score = b.score</span>执行结果:
很显然不合适我们的愿望,造成这种结果的是关系型数据采用的是笛卡尔积的算法,当定义t_test的两个变量a和b,进行自生关联的时候,会将a和b的中进行笛卡尔积相乘,然后在进行where语句的检索,所以会造成这个错误。
将上面的这个Sql语句进行加强,
<span style="font-size:18px;">select * from t_test a,t_test bwhere a.name = b.name and a.score = b.score and a.id!=b.id</span>执行结果:
这样的结果是我想要得到的!
2.面试题二
这个题是帮同学做的,不过和以前的题目有类似的东西,所以值得学习。
方法一:
<span style="font-size:18px;">SELECT c1.`uid`FROM c c1,c c2,c c3WHERE c1.`uid` = c2.uid AND c1.`uid` = c3.`uid` AND c2.`uid` = c3.`uid` AND c1.`taskid` = 'b' AND c2.`taskid` = 'a' AND c3.`taskid`='c'</span>
这个解决显然是用了前面一种的思路。
方法二:
<span style="font-size:18px;">SELECT uidFROM cWHERE c.taskid IN ('a','b','c')GROUP BY uid HAVING COUNT(1) = 3</span>DBA给出的解法!赞!赞!赞!赞!赞!赞!赞!
0 0
- 数据库去除某几个字段相同值的行
- sql删除几个字段值相同的重复列
- sql 去除相某个字段有相同记录的行,取第一行
- mysql如何去除两个字段数据相同的记录?
- 查询数据库表中同一字段值相同的数据行 +exists 的使用
- 删除SQL数据库相同的字段
- 取表中以某几个字段连续相同的数据的第一条数据
- 查询数据库某字段内容相同数量
- 查询字段相同的值
- 查询记录中几个字段相同的记录
- oracle找出表中某几个字段数据相同的记录
- 对某个字段相同的值根据另一个字段排序(Oracle数据库)
- 去除相同的字母
- 去除相同的字符
- oracle中删除重复数据(几个字段相同的数据为相同记录)
- 统计某字段值相同的所有记录
- oralce删除某字段值相同的记录
- Oralce数据库查询某张表某个字段的值有相同的记录并统计个数
- 博弈基础知识
- php Try Catch多层级异常测试
- 深入浅出Java回调机制
- xmpp openfire smack android IM demo
- Java中类的生命周期
- 数据库去除某几个字段相同值的行
- IOS网络检测及使用
- 23种设计模式(3):抽象工厂模式
- 8583协议深入理解 2
- Sending email 记忆线索
- 动态规划(Dynamic programming,DP),通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。通常许多
- HDU 1114 Piggy-Bank
- window2008 R2 64 位服务器中出现导出 Excel报表问题
- VC6.0导出内容到excel的简单代码例子,具体方法没有记录