当前位置: 首页 > 面试题库 >

MySQL连接表和计数实例

曹兴贤
2023-03-14
问题内容

可以说我有下表:

Countries
---------------------------
| ID | Country Name       |
---------------------------
| 1  | Greece             |
| 2  | Italy              |
| 3  | Spain              |
---------------------------

Cities
---------------------------
| ID | City               |
---------------------------
| 1  | Athens             |
| 2  | Patra              |
| 3  | Rome               |
| 4  | Venice             |
---------------------------

Countries & Cities
--------------------
| ID | Cntr | City |
--------------------
| 1  |   1  |   2  |
| 2  |   1  |   1  |
| 3  |   2  |   3  |
--------------------

现在,如何运行MySQL查询,该查询将基于“国家/城市”表返回国家和城市总数?

在示例中返回:

---------------------------
| Cities | Country        |
---------------------------
| 2      | Greece         |
| 1      | Italy          |
---------------------------

问题答案:

试试看:

SELECT COUNT(cs.City) as Cities, cn.name as Country
FROM countries cn 
INNER JOIN country_city cs ON cs.Cntr = cn.id 
GROUP BY cn.name

输出:

2   | Greece
1   | Italy


 类似资料:
  • 问题内容: 我有一个表“ lijsten”,一个表“ werknemerlijsten”和一个表“ categorieen”。 现在我正在使用查询来获取计数 但是,当我尝试使用另一个表的另一个计数进行相同的查询时,结果为假。 任何想法我可能做错了吗?谢谢 问题答案: 您的引入了具有给定ID多个匹配项的表。固定计数的快速简便方法是使用而不是: 另一种方法是在联接之前聚合表,并在子查询中进行计数。

  • 当我添加一个左连接来获取外部表的计数时,它将我其他左连接表的总和值与计数相乘,我也不能在这里使用不同的总和,因为两个值可以是相同的:

  • 问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如

  • 全部的 雇员(emp_id,first_name,last_name,地址,manager_id)manager_id外键引用雇员(emp_id)。 团队(team_id,姓名,manager_id,project_working_on)manager_id是外键引用员工(emp_id),project_working_on是外键引用项目(project_id)。 employee_team(em

  • 问题内容: 好的,这是。我有两个表:product和product_sizes 所以基本上我的产品表具有id(主键),名称(产品名称)和size_id(product_sizes中的外键) 我的product_sizes表具有预定值: 在这里,我有一个有效的代码来显示产品表(使用while代码以html格式): 我的问题是我想显示(用html表示)尺寸名称而不是其size_id,类似于以下示例:

  • 如果我有三个表: > 列出所有未被查看的正确方法是什么?此查询是否正确? 按< code>user_id列出所有< code >帖子及其“查看状态”如何? 您是否也可以推荐一个很棒的(用户友好的、非极客的)资源来提高我对LEFT JOIN、CROSS JOIN和(正常连接?从帖子、视图中选择*)的理解? 谢谢大家!