在下面给出的结果集中,有 2 个唯一用户 (id),并且查询中可能会出现更多此类用户:
这是多连接查询:
lựa chọn
id, name, col1Code, col2Code, col2Value
từ
users_table UT
tham gia
col1_table C1T on UT.id = C1T.user_ID_FK
tham gia
col2_table C2T on UT.id = C2T.user_ID_FK
order by
UT.id
limit 10
假设此查询中有 50 个此类用户。如果我出于分页目的应用 10 个限制,则不会获得 10 个用户,而只会获得前 10 行,其中可能只有 1 或 2 个用户数据。
问题1:如何根据特定列设置限制?
问题 2:使用 SQL 限制子句是分页的正确方法吗?对于提高最终用户的响应时间也是如此吗?如果不是,那么在这种情况下还可以使用什么?
Q1:您可以使用子查询来获取不同的用户。
select id, name, col1Code, col2Code, col2Value
từ
(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
问题2:是的
Tôi là một lập trình viên xuất sắc, rất giỏi!