l.user_id和l2.user_id相等的行必须先行。好的——根据规则,这是有道理的,但对于多年来一直使用mySql的人来说并不完全直观。我将在代码中尝试一下……好吧——根据规则,这是有道理的,但对于使用mySql多年的人来说,这并不是完全直观的。我将
l.user_id和l2.user_id相等的行必须先行。好的——根据规则,这是有道理的,但对于多年来一直使用mySql的人来说并不完全直观。我将在代码中尝试一下……好吧——根据规则,这是有道理的,但对于使用mySql多年的人来说,这并不是完全直观的。我将,sql,mysql,postgresql,alias,heroku,Sql,Mysql,Postgresql,Alias,Heroku,l.user_id和l2.user_id相等的行必须先行。好的——根据规则,这是有道理的,但对于多年来一直使用mySql的人来说并不完全直观。我将在代码中尝试一下……好吧——根据规则,这是有道理的,但对于使用mySql多年的人来说,这并不是完全直观的。我将在代码中尝试……请注意,不能保证子查询中的ORDERBY子句会导致最终结果的顺序,尽管对于这个特定的查询,我不知道会有任何优化。不过,将ORDER BY子句移出子查询会显式影响最终结果的子查询会更安全。@kgrittn。感谢您的指针,但是,当它
l.user_id和l2.user_id相等的行必须先行。好的——根据规则,这是有道理的,但对于多年来一直使用mySql的人来说并不完全直观。我将在代码中尝试一下……好吧——根据规则,这是有道理的,但对于使用mySql多年的人来说,这并不是完全直观的。我将在代码中尝试……请注意,不能保证子查询中的ORDERBY子句会导致最终结果的顺序,尽管对于这个特定的查询,我不知道会有任何优化。不过,将ORDER BY子句移出子查询会显式影响最终结果的子查询会更安全。@kgrittn。感谢您的指针,但是,当它为我工作时,在子查询中提供了ORDERBY子句。如果有任何特定的情况,请提供信息。@kartik narayana maringanti现在它可能每次都能按预期工作——问题是您是想让它处于一种新版本可能破坏订单的状态,还是以保证在现在和将来的版本中都能工作的形式编写它。如果您可以依赖未记录的实现细节而不是记录的方法,那么您就可以了。请注意,子查询中的ORDER BY子句不能保证最终结果会按照该顺序,尽管对于这个特定的查询,我不知道会有任何优化。不过,将ORDER BY子句移出子查询会显式影响最终结果的子查询会更安全。@kgrittn。感谢您的指针,但是,当它为我工作时,在子查询中提供了ORDERBY子句。如果有任何特定的情况,请提供信息。@kartik narayana maringanti现在它可能每次都能按预期工作——问题是您是想让它处于一种新版本可能破坏订单的状态,还是以保证在现在和将来的版本中都能工作的形式编写它。如果您可以依靠未记录的实现细节而不是记录的方法,那么您就可以了。
PGError: ERROR: column "l_user_id" does not exist
LINE 1: ...t_id where l.user_id = 8 order by l2.geopoint_id, l_user_id ...
^
select distinct
l2.*,
l.user_id as l_user_id,
l.geopoint_id as l_geopoint_id
from locations l
left join locations l2 on l.geopoint_id = l2.geopoint_id
where l.user_id = 8
order by l2.geopoint_id, l_user_id = l2.user_id desc
order by l2.geopoint_id, l_user_id = l2.user_id desc
select distinct
l2.*,
l.user_id as l_user_id,
l.geopoint_id as l_geopoint_id
from locations l
left join locations l2 on l.geopoint_id = l2.geopoint_id
where l.user_id = 8
order by l2.geopoint_id, l_user_id desc
select distinct
l2.*,
l.user_id as l_user_id,
l.geopoint_id as l_geopoint_id
from locations l
left join locations l2 on l.geopoint_id = l2.geopoint_id
where l.user_id = 8
order by l2.geopoint_id, l.user_id = l2.user_id desc;
SELECT thing.*,
levenshtein(thing.name, '%s') AS dist
FROM thing
WHERE dist < character_length(thing.name)/2
ORDER BY dist
SELECT thing.*,
(levenshtein(thing.name, '%s')) AS dist
FROM thing
ORDER BY dist
SELECT * FROM
(SELECT thing.*,
(levenshtein(thing.name, '%s')) AS dist
FROM thing
ORDER BY dist
) items
WHERE dist < (character_length(items.name)/2)