0

在下面给出的结果集中,其中有 2 个唯一用户 (id),并且可能有更多这样的用户从查询中出来:

在此处输入图像描述

这是多连接查询:

select 
    id, name, col1Code, col2Code, col2Value 
from 
    users_table UT
join 
    col1_table C1T on UT.id = C1T.user_ID_FK
join 
    col2_table C2T on UT.id = C2T.user_ID_FK
order by 
    UT.id 
limit 10

假设此查询中有 50 个这样的用户。如果我出于分页目的应用 10 的限制,我将不会获得 10 个用户,而只会获得前 10 行,其中可能只有 1 或 2 个用户数据。

Q1:如何根据特定列设置限制?

Q2:使用 SQL 限制子句是否是正确的分页方法,也可以提高最终用户的响应时间?如果不是,那么在这种情况下还能使用什么?

4

1 回答 1

0

Q1:您可以使用子查询来获取不同的用户。

select id, name, col1Code, col2Code, col2Value 
from 
 (select distinct id, name from users_table) UT
 join col1_table C1T on UT.id = C1T.user_ID_FK
 join col2_table C2T on UT.id = C2T.user_ID_FK
 order by UT.id limit 10

Q2:是的

于 2016-08-15T12:26:17.260 回答