簡體   English   中英

SQL復雜的SQL查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM