sql筛选
① sql多个条件筛选
1、创建测试表,create table test_con_x(company_name varchar(200), remark varchar2(200));
② sql 筛选语句
where mobile like '1[3,4,5,8][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
③ SQL 筛选查询+删除
查找重复的记录:
Select * From table_name Where email In (Select email From table_name where inputdate between 'starttime' and 'endtime' Group By email Having Count(*)>1)
and inputdate between 'starttime' and 'endtime'
删除重复的记录:
情况1:删除所有重复的记录
delete table_name Where email In (Select email From table_name where inputdate between 'starttime' and 'endtime' Group By email Having Count(*)>1)
and inputdate between 'starttime' and 'endtime'
情况2:删除重复记录中的部分记录,只保留重复记录中的最早时间的那条记录
delete a from table_name a Where not exists (Select 1 From table_name b where b.inputdate between 'starttime' and 'endtime' and b.email=a.email and b.inputdate<a.inputdate)
and a.inputdate between 'starttime' and 'endtime'
④ sql查询结果筛选
可以使用括号“(select查询子句)"套嵌一个查询结果。
语法格式:select columnlist... from (select子句) table_name where ...
注意:”)“ 后面需要给查询结果指定一个名称 table_name,名称不要与其他列名称相同,增加SQL语句的可读性。
⑤ sql增加条件实现筛选
首先要看你的条件是什么了
1、假如要筛选t1表中,姓名为“张三”且性别为“男”的所有记录,可以使用如下语句。
2、SQL查询语句为:
SELECT * FROM t1 WHERE 姓名='张三' AND 性别='男';
3、以上语句中,WHERE为设置查询条件的子句, AND为同时满足两个条件。
⑥ 用SQL语句实现数据筛选
--将字段条件筛选建立临时表
selecttop100*
into#temp
fromtable
wherenamenotin("%批发%","不含'%厂")
andregionin("餐饮",..."副食")--填写完每个经营面
--返回数据表,企业数和个体户,这个区分不知道用什么,所以第二个字段还需要改
selectprovince,count(distinctname)asnum_company,
casewhenname="个体户"thencount(distinctname)asnum_indivial
from#temp
⑦ sql语句筛选
select*from(
select*,row_number()over()seqfrom[表A]
)twhereseq=1
⑧ 一张表 如何用sql语句进行筛选
使用distinct 去掉重复数据 后面跟什么字段 就是去掉什么重复的 多个字段用,隔开
例如 Select distinct name from a ;
得到的结果就是 张三 ,李四
⑨ 用sql语句进行筛选
select姓名from表where课程!='A'
⑩ Sql 对数据进行筛选 请问怎么写语句
--DROPTABLEtest
CREATETABLEtest(aINT,bINT,cVARCHAR(10))
INSERTINTOdbo.test
(a,b,c)
SELECT5038,1,'ss030001'
UNIONALL
SELECT
5038,1,'ss030001'
UNIONALL
SELECT
5038,2,''
UNIONALL
SELECT
5038,3,''
UNIONALL
SELECT
5038,2,'444'
UNIONALL
SELECT
5121,1,''
UNIONALL
SELECT
5038,3,'123456'
SELECT*FROMtestWHEREisnull(c,'')<>''
UNIONall
SELECTa,b,c
FROM
(
SELECTROW_NUMBER()OVER(PARTITIONBYaORDERBYa)id,*
FROMtest)t1
WHEREid=1ANDaNOTIN(SELECTaFROMtestWHEREisnull(c,'')<>'')
结果:
5038 1 ss030001
5038 1 ss030001
5038 2 444
5038 3 123456
5121 1