判断多行相同字段的值是否为指定值 Sql 语句如何写

Sql Server 语句 如何判断三行数据同一字段值是否为指定值,最好给我ASP语句,当然如果您是用的其它语言,不熟悉ASP,给出SQL语句也行。十分感谢。
具体如下表,我想判断ClassID相同的用户的Mark是否都为2,如果同时达到2后,去触发别的动作。比如ID 1,2,3的ClassID相同,但不是全部mark为2时得到一个状态。ID 4,5,6的ClassID相同,但mark全部为2时,又得到一个状态。

提示:ID:自动编号,三个相同的ClassID肯定不会是同一个用户(UserName),可以用UserName加ClassID定位mark ,mark为数字.

第1个回答  2013-05-25
select test.username,test.classid from test where classid in
(select tt1.classid from
(select ClassId,count(classid) as mark_2_count from test where Mark=2 group by ClassID) tt1,
(select ClassId,count(classid) as mark_2_count from test group by ClassID ) tt2
where tt1.classid=tt2.classid and tt1.mark_2_count=tt2.mark_2_count)

此语句的意思是分组查询出所有 classid相同并且mark=2的用户,如果你需对这些用户做什么操作,直接做
第2个回答  2013-05-25
SLQ:
select * from test where ClassID in
(select classid from
(select classid,mark from test group by classid,mark)
group by classid
having COUNT(classid)=1)
and Mark=2

其结果为第4、5、6行,也就是classid都相同且mark为2的,其实也不太明白你要求的查询结果是什麽,希望是你想要的...
第3个回答  2013-05-25
select ClassId,count(Mark) as mark_2_count from Test where Mark=2 group by ClassID

判断多行相同字段的值是否为指定值 Sql 语句如何写
where tt1.classid=tt2.classid and tt1.mark_2_count=tt2.mark_2_count)此语句的意思是分组查询出所有 classid相同并且mark=2的用户,如果你需对这些用户做什么操作,直接做

Sql中判断某列的值是否都为指定的值
当Code=1时,如果State<>1的行数为0,则为 '都是1',否则为'不都是1'。

用sql语句查询某表中拥有多个相同字段中的一个值
--字段1字段2,字段3,字段4相同select 字段1 from 表名 where 字段1=字段2 and 字段2=字段3 and 字段3=字段4 --多个以此类推

sql语句如何判断字段是否为数字?
sql语句判断字段是否为数字可以参考下面的例子:select * from biao where isnumeric(ziduan)=0 查非数回字答 select * from biao where isnumeric(ziduan)=1 查纯数字

sql 判断两行数据是否重复
需要所有列的值都拿来纵向判断。一个简单的方法是:select count( distinct t.列1 [,t.列2,t.列3……] ) as cnt from t [where条件(指定哪几行数据进行判断) ]如果结果值为1,则表示这几行数据重复了。其实就是distinct用来去掉重复的记录,当所有列都distinct过滤之后,最终结果就只有一行数据...

sql查询出来的字段如何按照指定要求去重?
要使用SQL去重查询特定字段,可借助DISTINCT关键字。示例查询语句如下:此语句利用DISTINCT去除column1、column2、column3值的重复,仅保留不同值。如需更复杂去重需求,即根据特定规则合并重复值,可结合GROUP BY子句与聚合函数。示例如下:此语句通过GROUP BY column1对结果进行分组,MAX()函数选取每组中...

sql查询某几个字段值一样,某一字段值不一样的数据
select t1.* from tableName t1,(select A,B from tableName group by A,B having COUNT(id)>1) t2 where t2.A=t1.A and t2.B=t1.B

mysql按某个字段的多个相同的值匹配多个对应字段值
in(v1,v2..vn) ,符合v1,v2,,,vn才能被查出 IN关键字可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件,该纪录将被查询出来。如果不在集合中,则不满足查询条件。其语法规则如下:[ NOT ] IN ( 元素1, 元素2, …, 元素n ) 例如: select * from STUDENT...

sql语句,怎样判断一个字段中是否存在某一个值
可以参考下面的描述:INSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置;C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 出现的位置,默认为1 SQL> select instr(’oracle traning’,’ra’,1,2) instring from dual;INSTRING --- 9 ...

MySQL中的不等于条件详解mysql中不等于条件
一、不等于条件的语法 不等于条件用于判断某个字段的值是否不等于指定的值。在MySQL中,常用的不等于条件有两种,分别为“”和“!=”。其语法形式如下:SELECT column1, column2, …FROM table_name WHERE column_name value;或 SELECT column1, column2, …FROM table_name WHERE column_name !=...

相似回答
大家正在搜