如何通过两个表上的连接过滤字段

时间:2012-03-25 09:53:20

标签: mysql sql

如何过滤查询我需要过滤nombre我需要一个查询。

query =选择userstats.email作为电子邮件,将count(intento)选为Attempts,将user.accesses作为来自userstats内部联接用户的访问权限通过电子邮件发送给user.email = userstats.email group;

+---------------------------+----------+--------+
| email                     | Attemps  |accesses|
+---------------------------+----------+--------+
| felixcriv@gmail.com       |       84 |     29 |
| felixcriv@me.com          |        1 |      0 |
| geronimo_76@hotmail.com   |        1 |      0 |
| gramirezcarrero@gmail.com |      128 |     90 |
+---------------------------+----------+--------+
4 rows in set (0.00 sec)

第一张表。

+-------------+-------------+------+-----+-------------------+-----------------------------+
| Field       | Type        | Null | Key | Default           | Extra                       |
+-------------+-------------+------+-----+-------------------+-----------------------------+
| email       | varchar(55) | NO   | PRI | NULL              |                             |
| names       | varchar(60) | NO   |     | NULL              |                             |
| password    | text        | NO   |     | NULL              |                             |
| privileges  | int(11)     | YES  |     | 2                 |                             |
| accesses    | int(11)     | NO   |     | 0                 |                             |
| last_access | timestamp   | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| logged      | int(11)     | YES  |     | 0                 |                             |
| ip_machine  | varchar(35) | NO   |     | 0                 |                             |
| session_id  | text        | NO   |     | NULL              |                             |
| platform    | text        | NO   |     | NULL              |                             |
| status      | int(11)     | YES  |     | 0                 |                             |
+-------------+-------------+------+-----+-------------------+-----------------------------+

11行(0.00秒)

第二张表。

+-------------+-------------+------+-----+-------------------+-----------------------------+
| Field       | Type        | Null | Key | Default           | Extra                       |
+-------------+-------------+------+-----+-------------------+-----------------------------+
| iduserStats | int(11)     | NO   | PRI | NULL              | auto_increment              |
| ip_machine  | varchar(45) | NO   |     | NULL              |                             |
| email       | varchar(45) | NO   |     | NULL              |                             |
| intento     | int(11)     | YES  |     | NULL              |                             |
| logged      | int(11)     | YES  |     | NULL              |                             |
| fechaHora   | timestamp   | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+-------------+------+-----+-------------------+-----------------------------+
6 rows in set (0.00 sec)

我需要画一张类似的表:

+---------------------------+----------+--------+
    | nombres                   | intentos |logeos |
    +---------------------------+----------+--------+
    | name                      |       84 |     29 |
    | name2                     |        1 |      0 |
    | name3                     |        1 |      0 |
    | name4                     |      128 |     90 |
    +---------------------------+----------+--------+

1 个答案:

答案 0 :(得分:1)

然后你可以尝试 -

    select names , --userstats.email as email, 
          count(intento) as Attempts, 
          user.accesses as Accesses 
     from userstats inner join user 
       on user.email = userstats.email 
  group by Email, names