我需要对表中的列运行最长匹配前缀,而不仅仅是单个值。对于单个值,我使用类似SELECT value, prefix as lmp FROM aTable WHERE SUBSTRING(value,1, LENGTH(prefix)) = prefix ORDER BY prefix DESC limit 1
.
问题是,如果它是针对许多记录进行的,它将需要进行表扫描并逐个获取值,并且将需要客户端和服务器之间的大量流量。
有没有办法在涉及子查询但不涉及存储过程的单个查询中做到这一点?我正在使用 PostgreSQL 8.4。