我在MySQL中有3个表.

表:A

+-------------------------------------------+--------------+------+-----+---------------------+----------------+

| Field                                     | Type         | Null | Key | Default             | Extra          |

+-------------------------------------------+--------------+------+-----+---------------------+----------------+
| Ad_Id                                     | int(11)      | NO   | PRI | NULL                | auto_increment |
| User_Id                                   | int(11)      | NO   | MUL | NULL                |                |
| Location_Id                               | int(11)      | NO   | MUL | NULL                |                |
| Ad_Date                                   | timestamp    | NO   | MUL | current_timestamp() |                |
| Ad_Title                                  | varchar(255) | NO   | MUL | NULL                |                |
| Ad_Content                                | mediumtext   | NO   | MUL | NULL                |                |
| Ad_Deleted                                | tinyint(1)   | NO   |     | 0                   |                |
+-------------------------------------------+--------------+------+-----+---------------------+----------------+

表:州

+----------------------+-------------+------+-----+---------+----------------+
| Field                | Type        | Null | Key | Default | Extra          |
+----------------------+-------------+------+-----+---------+----------------+
| State_Id             | int(11)     | NO   | PRI | NULL    | auto_increment |
| Country_Id           | int(11)     | NO   | MUL | NULL    |                |
| State_Name           | varchar(45) | NO   |     | NULL    |                |
+----------------------+-------------+------+-----+---------+----------------+

表:位置

+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| Location_Id   | int(11)      | NO   | PRI | NULL    | auto_increment |
| State_Id      | int(11)      | NO   | MUL | NULL    |                |
| Location_Name | varchar(255) | NO   |     | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+

我有这样的疑问:

SELECT Anuncios.Ad_Id, Estado.State_Name, Municipio.Location_Name 
FROM Ad AS Anuncios JOIN Location AS Municipio 
ON Anuncios.Location_Id = Municipio.Location_Id 
JOIN State AS Estado ON Municipio.State_Id = Estado.State_Id 
WHERE Anuncios.Ad_Deleted = 0 AND Anuncios.User_Id = 600005;

我的结果是:

+---------+------------+-------------------------------+

| Ad_Id   | State_Name | Location_Name                 |
+---------+------------+-------------------------------+
|  2 | Jalisco    | Guadalajara                        |
|  2 | Jalisco    | Tlaquepaque                        |
|  2 | Jalisco    | Tonal?                             |
|  2 | Jalisco    | Guadalajara                        |
|  2 | Jalisco    | Zapopan                            |
|  2 | Jalisco    | Guadalajara                        |
|  2 | Jalisco    | El Salto                           |
|  2 | Jalisco    | Tlaquepaque                        |
|  2 | Jalisco    | Guadalajara                        |
|  2 | Jalisco    | Chapala                            |
|  2 | Jalisco    | Cocula                             |
|  2 | Jalisco    | Tonal?                             |
|  2 | Jalisco    | Tlaquepaque                        |
|  2 | Jalisco    | Zapopan                            |
|  2 | Jalisco    | Guadalajara                        |
.....
+---------+------------+-------------------------------+

但我不需要这个,我只需要关于LOCATION_NAME(Municipio)的计数,例如:

Guadalajara 48
Zapopan 10
Tlaquepaque 7
....

如何获得这个结果?(我更改了帖子的USER_ID和AD_ID)

谢谢你,我是MySQL新手:}

推荐答案

看起来像一个简单的GROUP BYCOUNT(*)查询

SELECT
  m.Location_Name,
  COUNT(*) AS count
FROM Ad AS a
JOIN Location AS Municipio ON a.Location_Id = m.Location_Id 
WHERE a.Ad_Deleted = 0
  AND a.User_Id = 600005
GROUP BY
  m.Locaton_Id,
  m.Location_Name;

Mysql相关问答推荐

在Join的ON分句中使用SUM()

mysql使用LIKE查找二进制字段有问题

S优化联接更新的最佳方式是什么?

筛选器中的Case When语句

列出每年最多产的三位作家

实体内约束的唯一增量 ID 生成

Mysql如何分行分词

Mysql 中相同列的相关 2 查询

MySQL DISTINCT 日期仅返回特定表的 1 个值.相同的查询适用于其他表

仅当其他行相等时才 Select 行值

提取 MySQL 5.7 连续值的差异

总行大小不超过 65535,但我得到行大小太大.所用表类型的最大行大小,不包括 BLOB,是 65535错误

基于 3 个条件 Select 3 行的最佳 MySQL 索引和查询

Over() 函数不覆盖表中的所有行

计算每个用户在第二个表中有多少条记录

MySQL 视图

MySQL时区更改?

MySQL ORDER BY rand(),名称为 ASC

如何在 MySQL 的日期时间字段中存储 NULL 值?

启用 NO_BACKSLASH_ESCAPES 选项时如何转义文字百分号?