bins
----
id min max
1 1 20
2 21 40
3 41 60
pictures
--------
id
3
11
59
基本上,我想选择最高图片ID,然后从bin表中选择它匹配的bin id。例如,对于pictures.id = 59(最高),我想要bins.id = 3.任何人都可以帮我解决这样的问题吗?像
这样的东西SELECT bins.id AS id
FROM bins
JOIN pictures.id
ON bins.min < MAX(pictures.id)
AND bins.max > MAX(pictures.id)
似乎不起作用。谢谢!
答案 0 :(得分:2)
SELECT id
FROM bins
WHERE min < (Select Max(id) from Pictures)
AND max > (Select Max(id) from Pictures)
希望有所帮助
最高
答案 1 :(得分:1)
试试这个
Select id From Bins
Where (Select Max(id) From pictures)
Between Min and Max
答案 2 :(得分:0)
如果bin限制(bin.min和bin.max)随着样本数据中的id增加,则可以使用以下方式获取“max”图片id的bin id:
SELECT MAX( bins.id )
FROM bins
JOIN pictures
ON bins.min <= pictures.id
AND bins.max >= pictures.id
请注意使用<=
和=>
- 否则将有效排除bin限制值(例如picture.id = 41与bin不匹配)。
也可写:
SELECT MAX( bins.id )
FROM bins
JOIN pictures
ON pictures.id BETWEEN bins.min AND bins.max
如果您的bin限制未使用bin id排序,则将中断。