Php MySQL从数组中获取行

Php MySQL从数组中获取行,php,mysql,performance,left-join,Php,Mysql,Performance,Left Join,我的项目中有一个用户表 id | name | user_group -----+------------+---------------- 1 | name | 1 2 | name | 1 3 | name | 2 4 | name | 2 5 | name | 2 6 | name | 2 7 | nam

我的项目中有一个用户表

id   |    name    |    user_group
-----+------------+----------------
1    |   name     |     1
2    |   name     |     1
3    |   name     |     2
4    |   name     |     2
5    |   name     |     2
6    |   name     |     2
7    |   name     |     2
------------------------------------
每个用户都与一个组相关联

用户也可以上传图片到网站,所以我得到了一个图片表

id    |     image_name      | user_id       |   uploaded_date
------+---------------------+---------------+--------------------------
1     |    dder.jpg         |    1          |    2014-12-12 00:00:00
2     |    dder.jpg         |    1          |    2014-12-12 00:00:00
3     |    dder.jpg         |    2          |    2014-12-12 00:00:00
4     |    dder.jpg         |    3          |    2014-12-12 00:00:00
5     |    dder.jpg         |    6          |    2014-12-12 00:00:00
6     |    dder.jpg         |    7          |    2014-12-12 00:00:00
7     |    dder.jpg         |    7          |    2014-12-12 00:00:00
8     |    dder.jpg         |    5          |    2014-12-12 00:00:00
9     |    dder.jpg         |    2          |    2014-12-12 00:00:00
10    |    dder.jpg         |    1          |    2014-12-12 00:00:00
------------------------------------------------------------------------
现在我的问题是,我需要在上传日期的描述中获得用户_group=2上传的图像列表

谁能帮我提个简单的问题吗

提前感谢

一种可能的方法:

    SELECT i.* 
      FROM images i
INNER JOIN users u 
           ON i.user_id = u.id
     WHERE u.user_group = 2
  ORDER BY i.uploaded_date DESC

。为了提高性能,在images表中的user_id列上设置一个外键非常重要,该外键引用users表中的id列。

您可以这样解决此问题:

但是,如果您希望在某个时刻为一个用户分配多个user_组,则应具有以下内容:

SELECT     img.image_name
FROM       images img
INNER JOIN users usr
ON         img.user_id = usr.id
WHERE      usr.user_group = 2
ORDER BY   img.uploaded_date DESC