对特定列应用SQL限制,而不是对完整结果集应用SQL限制

时间:2016-08-15 12:22:56

标签: mysql pagination sql-limit mysql-variables

在下面给出的结果集中,有2个唯一身份用户(id),可能会有更多此类用户退出查询:

enter image description here

以下是多连接查询:

retainCount

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

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

Q2:使用SQL限制子句正确的分页方法,还是为了改善最终用户的响应时间?如果没有,那么在这种情况下还可以使用其他什么?

1 个答案:

答案 0 :(得分: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:是的