[英]SQL complicated sql query
想象一下這個表:
| USER |
|------|
| _id |
| PHOTO |
|-------|
| _id |
| user | - who uploaded it
| RATING |
|--------|
| user | - who vote
| photo | - for which foto
然后,我需要提取$ user上傳的所有照片,最重要的是,該照片的評級是多少...
例如:
USER
1
PHOTO
50 | 1
51 | 1
52 | 1
RATING
2 | 50
3 | 51
2 | 51
2 | 52
4 | 51
3 | 50
我對函數get_info($ id)的預期結果:
$id = 1;
result:
_id | rating
50 | 2
51 | 3
52 | 1
是否有可能執行一項任務sql? 謝謝
使用連接並按分組計數
select p._id,count(distinct r.user)
from photo p
join rating r on(p._id=r.photo)
where p.user = 1
group by p._id
由於您的照片表與評分表相關聯,因為_id與評分表的照片列相關,因此將它們加入,然后為每張照片計算每個不同的用戶
Demo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.