我在这个link上解决了一个sql问题。简而言之,您有一个名为station
的表。在此表中,模式为:
id: int
city: varchar(21)
城市列可以重复。问题是:总城市(有重复)和没有重复的总城市之间的差异。下面是我的代码:
select
(select count(*) from station) -
(select count(*) from (select city from station group by city) as c);
简而言之,我使用两个查询:一个是sum all,另一个是sum with group by
city,然后在查询上再次计数。(有点复杂)。这就是答案:
select count(city)- count(distinct city) from station;
我的问题是:在第二次查询时,数据库将真正执行多少查询。只是一个或两个查询作为我的代码。如果有两个查询,什么条件可以在相同的FROM
子句中编写相同的查询?
发布于 2018-06-07 07:53:47
不涉及任何子查询,聚合是在筛选行上完成的。
所以回答你的问题:只有一个查询。
https://stackoverflow.com/questions/42675915
复制相似问题