gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 20:32:41 28 4
gpt4 key购买 nike

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

enter image description here

这是多连接查询:

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 个用户数据。

问题1:如何根据特定列设置限制?

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

最佳答案

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

问题2:是的

关于mysql - 对特定列应用 SQL 限制,而不是对完整结果集应用 SQL 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38955007/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com