[英]MySQL get rows from array
我的項目中有一個用戶表
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
------------------------------------------------------------------------
現在的問題是我需要得到由USER_GROUP = 2 uploaded_date的DESC上傳的圖片列表
任何人都可以通過簡單的查詢幫助我嗎?
提前致謝
一種可能的方法:
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
列。
您可以這樣解決: 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.