MySQLにaccounttransactions
金融取引の保存というテーブルがあります。ここにref
、参照番号とadm
学生の入学番号の2つの列があります。この表で、同じトランザクション番号を使用しているが、同じトランザクション番号を複数回使用できることを念頭に置いて、異なる学生の数を調べたいと思います。IE
---------------
| adm | ref |
--------------
| 102 | 2145 |
| 102 | 2145 |
| 103 | 2152 |
| 104 | 2152 |
---------------
入場料102の場合、参照は大丈夫です。入場料103や104のような行を見つけたいです。
使ってみました
SELECT COUNT(ref) AS num, ref FROM accounttransactions GROUP BY ref HAVING num>1
しかし、これは私に同じ入学番号を持つ学生でさえすべての学生のためのrefのカウントを与えます
相関サブクエリを使用する exists
select * from accounttransactions a
where exists
(select 1 from accounttransactions b where a.ref=b.ref having count(distinct adm)>1)
出力:
adm ref
103 2152
104 2152
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加