2016-10-17 70 views
-3

可以说我们有两个表分别有猫和狗的数量和城市名称。我们希望使用SQL语句查找哪个城市有比猫更多的猫。找到两个表格的最大值,

+2

给出您的表格结构和样本数据 –

+3

您正在使用哪些DBMS?另外:** [编辑] **您的问题,并根据该数据添加一些示例数据和预期输出。 [_Formatted_](http://stackoverflow.com/editing-help#code)**文本**,请[无屏幕截图](http://meta.stackoverflow.com/questions/285551/why-may-i -not-upload-images-code-on-so-when-asking-question-285557#285557) –

+0

为什么你有两个单独的表?为什么不是一个普通的宠物桌? – jarlh

回答

0

我认为下一个查询会为你做他的工作。

SELECT cat.city_name 
FROM (SELECT upper(city_name), count(*) quantity 
     from cats 
     group by upper(city_name)) cat 
, (SELECT upper(city_name), count(*) quantity 
     from dogs 
     group by upper(city_name)) dog 
where dog.city_name = cat.city_name 
and cat.quantity > dog.quantity; 
+0

只是有一点疑问:OP讨论了带有cats_数的_tables,所以可能他需要用sum(num_of_cats)来修改count(*)(在这种情况下,不清楚是否需要聚合所有这些,尽管它避免了在这里需要LEFT JOIN)。没有OP的进一步信息,我们基本上是猜测。 – Insac