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