0

次のテーブルがあるとしましょう。

TABLE L
id      name
51      joe  
52      sara
53      john
54      david

TABLE M
id      l_id
1       51 
2       51
3       52 
4       53

テーブル M には、テーブル L の情報に対して複数の値を持つ行があります。私がやろうとしているのは、テーブル m に一度だけ現れるすべての数を選択することです。

したがって、上記の場合、テーブル m に一度だけ現れる l.id であるため、カウントは 2 になります。

COUNT(*)
2

どうすればこれを行うことができますか?

4

3 に答える 3

2
select Count(*)
from
  (select l_id From M group by l_id having count(*)=1) m
于 2012-11-20T20:50:32.400 に答える
1

サブクエリで count(*) を使用すると、カウントが 1 の行だけが返されます。私のmysqlは少しさびていますが、次のコードがアイデアを与えることを願っています.

select count(*) from ( select l_id, count(*) count from m group by l_id with count(*) = 1 )

于 2012-11-20T20:51:24.043 に答える
0
SELECT count(*)
FROM table
HAVING count(id) = 1;
于 2012-11-20T20:57:10.100 に答える