sql的一些操作

count时不计算a,b,c字段数据相同的重复的记录

假如查询得到如下数据:

select a,b,c from table                                                                                      

 a b c
 1 1 0
 2 2 0
 2 2 0

现在执行select a,b,count(c) from table                                                         

 a b c
 1 1 1
 2 2 2

若执行select a,b,count (distinct c) from table                                                                                                                                                                      

 a b c
 1 1 1
 2 2 1

注意,在count 函数中加了一个distinct,使相同的记录只被count一次。

INNER JOIN的操作

假如有3个表,table1,table2,table3,表中数据如下:

table1
 a b c
 1 1 1
 1 1 1
 2 2 2
 13 3
 2 4 4
 5 5 5

table2
 a b c
 1 1 1
 21 1
3 1 1
 4 1 1
 5 1 1

table3
 a b
 1 1
 2 2
 3 3
 4 4

 执行如下语句:

select database.table1.c,database.table2.b,database.table2.c,database.table3.b
from (database.table1 inner join database.table2 on database.table1.stn = database.table2.stn)
inner join database.table1 on database.table1.ka = database.table3.ka

得到结果如下:

 table1.c table2.b table2.c table3.b
 1 1 1 1
 1 1 1 1
 3 1 1 1
 2 1 1 2
 4 1 1 2

执行的是

table1.stn = table2.stn  而且 table1.ka = table3.ka,两个条件同时满足。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值