J'ai cette table
create table student (
stu_id int,
s_name nvarchar(max),
s_subject nvarchar(max),
)
et ceci comme données
insert into student values(123,'pammy','English');
insert into student values(123,'pammy','Maths');
insert into student values(123,'pammy','Chemistry');
insert into student values(124,'watts','Biology');
insert into student values(125,'Tom','Physics');
insert into student values(125,'Tom','Computer';
insert into student values(125,'Tom','ED';
je voulais donc récupérer les enregistrements qui se sont produits plus de deux fois. mon code est
select stu_id,s_Name
from student
group by stu_id,s_Name
having count(stu_id) >2 ;
le résultat était parfait.
mais quand je veux s_subject
, il ne dit pas non plus de lignes sélectionnées. Je ne sais pas pourquoi.
select stu_id,s_Name,s_subject
from student
group by stu_id,s_Name,s_subject
having count(stu_id) >2 ;
C'est parce qu'aucun de vos étudiants n'a plus d'un enregistrement par matière.
select stu_id,s_Name,s_subject
from student
group by stu_id,s_Name,s_subject
having count(stu_id) >2 ;
Ce code demande que les enregistrements qui se produisent plus de deux fois aient le même ID d'étudiant, le même nom et le même sujet. Aucun des enregistrements de votre échantillon ne correspond à cela.
Si, toutefois, vous voulez réellement l’identité, le nom et les sujets de tout étudiant qui suit plus de deux cours, cela peut être fait assez facilement.
En utilisant une version légèrement modifiée de votre code SQL initial en tant que filtre, nous obtenons ceci:
select stu_id, name, subject
from student
where stu_id in ( select stu_id
from student
group by stu_id
having count(stu_id) >2 );
J'espère que cela t'aides.
Comme vous regroupez toutes les colonnes existantes dans la table, il générera des lignes uniques (enregistrement avec une ligne de fréquence). faire avec nombre = 1, vous obtiendrez toutes les lignes avec nombre = 1,
select stu_id,s_Name,s_subject
from student
group by stu_id,s_Name,s_subject
having count(stu_id) =1 ;
La sortie sera:
stu_id s_Name s_subject
----------- -------------
123 pammy Chemistry
123 pammy English
123 pammy Maths
124 watts Biology
125 Tom Computer
125 Tom ED
125 Tom Physics