所以在我的数据库中,我有2个相关的表:这些字段是ID,名称,价格和整数,因此我知道它们是否全部出售
水果
|IDfruit| name | price | sold |
| 1 |orange | 5 | 0
| 2 |apple | 10 | 0
| 3 |grape | 15 | 1
| 4 |lemon | 7 | 1
主键是IDfruit
图像
|IDimage| url | idfruit_image
| 1 | image1.png | 1
| 2 | image2.png | 1
| 3 | image3.png | 2
| 4 | image4.png | 3
| 5 | image5.png | 4
| 6 | image6.png | 4
| 7 | image7.png | 4
IDimage是主键,而idfruit_image是引用IDfruit的外键
我想要的结果是所有水果以及每个水果的第一张图像。
所以我要做的是
select fruits.*, url , idfruit_image
from fruits,images
where IDfruit = idfruit_image;
这将返回所有水果和每个水果的所有图像,但是我只想要每个水果的一个图像,我该如何实现呢?
如果我要从所有售出的水果中得到所有东西,而只是每个水果的第一张图片,怎么办?>
所以在我的数据库中,我有2个表相关:这些字段是ID,名称,价格和整数,因此我知道它们是否全部出售了水果| IDfruit |名称|价格|出售| 1 |橙色| 5 | 0 | 2 ...
使用GROUP BY
每个水果获取一行,并使用聚合函数选择其中一张图像。
我知道您想要每个水果的第一张图像,first