Database-MySql複合sqlQuery
次はcreate table文です。
CREATE TABLE `Test`(`T` varchar(40) DEFAULT NULL,`P` varchar(40) NOT NULL,`CT` char(1) DEFAULT 'V',`XY` char(1) DEFAULT 'A');
上記の表には3つの列(T、P、CT、XY)があります。 1.カラム 'T'とカラム 'P'は、両方のカラムの値がペアになるような関係を持ちます。ペア内の値は他の列の他の値とペアになりません。 2. CTには、> V、W、Xの3種類の値があります。 3.列XYには、> A、B、Cの3種類の値があります。
表中のデータは以下の通りです。
1. insert into Test values('T1','P1','V','A');
2. insert into Test values('T1','P2','V','B');
3. insert into Test values('T2','P3','V','C');
4. insert into Test values('T3','P3','V','A');
5. insert into Test values('T4','P4','V','A');
6. insert into Test values('T4','P4','V','A');
7. insert into Test values('T4','P4','V','B');
8. insert into Test values('T4','P4','W','A');
9. insert into Test values('T4','P4','X','A');
出力は一列になり - T4、P4,2
出力の説明
1. First row will be discarded because of T1 is making pair with 2 values(P1,P2)of Column 'P'.
2. Second row will be discarded because of T1 is making pair with 2 values(P1,P2)of Column 'P'.
3. Third row will be discarded because of P3 is making pair with 2 values(T2,T3)of Column 'T'.
4. Fourth row will be discarded because of P3 is making pair with 2 values(T2,T3)of Column 'T'.
5. Output will be pair of T4,P4
第三列カウント、対(T4、P4)のためのように導出されます列 'CT'値がVで列XY値がAであるインスタンスの数は2です(uは行5と行6で見られるように)ので、出力の3番目の列は2になります。
Iクエリを使用しようとしましたが、giviではありません私は正しい結果を返します。
select T,P,sum from (select T,P,sum(if(CT = 'A' and XY = 'B',1,0)) sum from Test group by T,P) X group by T having count(*)=1;
上記の問題を解決するSqlクエリは何ですか?
行の選択方法を簡単に説明できますか? –
であり、これが何のために使用されているかという目的のより良い文脈である。 「ジェネリック」を作ろうとすると、文脈が失われてしまうことがあります。 – DRapp