表名:batch_1_student_marks
我在batch_1_student_marks表中有学生标记列表。
其中"清除"表示学生通过/未通过状态。
已清除= 1(通过)
已清除= 0(失败)
在下表中,student_id 2仅清除了所有行中的状态1。我不想选择student_id 1和3,因为它已在相应的行中清除了状态0。
如果我使用以下查询,它将给出结果,
从batch_1_student_marks中选择student_id WHERE student_id = 2并清除= 1。
但是这个查询不适合student_id 1和3.因为我不想选择student_id,如果它在单行中已经清0,那么.........
请帮我查询......
| ID | |学期| | student_id数据| | subject_id | |等级| |标记| |清除|
1 ----- 1 -------------- 1 ------------- 1 ----------- a-- ------- -------- 8 0
1 ----- 1 -------------- 1 ------------- 2 ----------- b-- ------- 9 -------- 1
1 ----- 1 -------------- 1 ------------- 3 ----------- d-- ------- 2 -------- 0
1 ----- 1 -------------- 1 ------------- 8 ----------- e-- ------- 4 -------- 1
1 ----- 1 -------------- 1 ------------- 2 ----------- b-- ------- 9 -------- 1
1 ----- 1 -------------- 1 ------------- 3 ----------- d-- ------- 2 -------- 1
1 ----- 1 -------------- 1 ------------- 8 ----------- e-- ------- 4 -------- 1
1 ----- 1 -------------- 1 ------------- 2 ----------- b-- ------- 9 -------- 0
1 ----- 1 -------------- 2 ------------- 3 ----------- d --------- 2 -------- 1
1 ----- 1 -------------- 2 ------------- 8 ----------- e-- ------- 4 -------- 1
1 ----- 1 -------------- 2 ------------- 3 ----------- d-- ------- 2 -------- 1
1 ----- 1 -------------- 2 ------------- 8 ----------- e-- ------- 4 -------- 1
1 ----- 1 -------------- 2 ------------- 3 ----------- d-- ------- 2 -------- 1
1 ----- 1 -------------- 2 ------------- 8 ----------- e-- ------- 4 -------- 1
1 ----- 1 -------------- 3 ------------- 3 ----------- d --------- 2 -------- 1
1 ----- 1 -------------- 3 ------------- 8 ----------- e-- ------- 4 -------- 0
1 ----- 1 -------------- 3 ------------- 3 ----------- d-- ------- 2 -------- 1
1 ----- 1 -------------- 3 ------------- 8 ----------- e-- ------- 4 -------- 0
1 ----- 1 -------------- 3 ------------- 3 ----------- d-- ------- 2 -------- 1
1 ----- 1 -------------- 3 ------------- 8 ----------- e-- ------- 4 -------- 0
答案 0 :(得分:1)
您可以使用以下
如果清除的字段类型为' text'然后: - -
SELECT student_id FROM batch_1_student_marks WHERE cleared='1';
如果清除的字段类型为' number'然后: - -
SELECT student_id FROM batch_1_student_marks WHERE cleared=1;
我希望它会对你有所帮助。
答案 1 :(得分:0)
只需使用以下查询:
SELECT student_id FROM batch_1_student_marks WHERE cleared='1';
答案 2 :(得分:0)
SELECT student_id,cleared from batch_1_student_marks
GROUP BY student_id
HAVING COUNT(DISTINCT cleared)=1
AND cleared=1
你应该从一开始就添加了细节。一个明确的问题几乎可以解决问题。