我的项目中有一个用户表
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
------------------------------------------------------------------------
现在我的问题是我需要在 uploaded_date
的DESC中获取 user_group = 2 上传的图片列表有人可以帮我解决一个简单的问题吗?
提前致谢
答案 0 :(得分:0)
一种可能的方法:
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
Demo。为了提高性能,在user_id
表中的images
列上设置外键是很重要的,该列引用id
表中的users
列。
答案 1 :(得分:0)
您可以这样解决:http://sqlfiddle.com/#!2/28a18/1
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
但是,如果您希望在某个时刻为用户分配多个user_group,则应该具有以下内容:http://sqlfiddle.com/#!2/8f938/1