0

我有一个奇怪的问题。我的应用程序、地区学校中有 2 个表。学校有一个列,它位于哪个区域。

我想做一个 SELECT 语句来将这些表与 LIMIT 连接在一起。但是 LIMIT 不能拆分一组 REGION-SCHOOLS。

例子

地区

ID  name of region
1   Moravia
2   Czech

学校

ID  region   school
1      1     VSB
2      1     SPS Kratochvilova
3      1     T.G. Masaryka
4      2     ZS Praha
5      2     CVUT

现在,当我使用 JOIN 将这些表连接在一起时,我得到了

region   school
Moravia  VSB
Moravia  SPS Kratochvilova
Moravia  T.G. Masaryka
Czech    ZS Praha
Czech    CVUT

但是当我使用 LIMIT 4 进行分页时,我在第一页上有部分区域捷克,在第二页上有下一部分。

是否有一些解决方案如何使用 LIMIT 不拆分这些组?

就我而言,一个地区最多有 5 所学校,有时可能有 6 所,但很少。

4

1 回答 1

1

编辑:这应该可以解决问题:

select schools.name, 
    regions.name
from schools
join (
        select id, name 
        from regions 
        order by regions.name
        limit 0,2) as regions
    on regions.id = schools.region
于 2012-09-22T20:25:00.217 回答