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 中只出现一次的所有内容的计数。

因此,在上述情况下,计数将为 2,因为它们是在表 m 中仅出现一次的 l.id:

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 回答