SQLLite从联接表获取记录计数

SQLLite从联接表获取记录计数,sql,sqlite,left-join,Sql,Sqlite,Left Join,我有两个表连接在一起,返回99条记录 我需要的不是99张唱片,而是计数。在做了一些搜索之后,我尝试了两个查询,但都在重新调整99条记录。所以我有点不对劲 lotw表格将有或可能有一个国家/地区代表的多个国家/地区代码记录(字段:dxcc)。 “国家/地区”表保存国家及其关联的国家/地区代码(字段:代码) 我想要的是与20M波段相关的独特县的数量。在lotw表中 首先我试过 SELECT COUNT(cc.code) FROM lotw l JOIN CountryCode AS cc on cc

我有两个表连接在一起,返回99条记录

我需要的不是99张唱片,而是计数。在做了一些搜索之后,我尝试了两个查询,但都在重新调整99条记录。所以我有点不对劲

lotw表格将有或可能有一个国家/地区代表的多个国家/地区代码记录(字段:dxcc)。 “国家/地区”表保存国家及其关联的国家/地区代码(字段:代码)

我想要的是与20M波段相关的独特县的数量。在lotw表中

首先我试过

SELECT COUNT(cc.code)
FROM lotw l
JOIN CountryCode AS cc on cc.code = l.dxcc 
WHERE l.DXCC > '' AND l.BAND IN ('20M')
GROUP BY l.DXCC
然后我试着

SELECT COUNT(cc.total)
FROM lotw l
JOIN (SELECT code,COUNT(Country) As total FROM CountryCode GROUP BY code) AS cc on cc.code = l.dxcc 
WHERE l.DXCC > '' AND l.BAND IN ('20M')
GROUP BY l.DXCC
如果我能让第二种方法起作用,我更喜欢第二种方法,因为我以后必须加入更多的表,只需从查询中删除即可

GROUP BY l.DXCC

好的,我需要反转我的查询,这样就行了

SELECT COUNT(l.total)
FROM CountryCode cc
JOIN (SELECT dxcc, COUNT(*) As total FROM lotw  WHERE DXCC > '' AND BAND IN ('20M') GROUP BY dxcc) AS l on l.dxcc = cc.code 

您好VitaliyG,谢谢您的回复,我删除了l.dxcc并获得了计数,但其countrycode不正确。代码显示重复?我需要有独特的国家?所以我尝试了“选择代码,计数(不同的国家)”,但得到了662的相同结果。希望这是有意义的。