J'ai une table qui x, y
points et besoin de trouver des points où il y a moins de trois autres lignes dans le tableau avec une valeur plus élevée x
ou y
valeur plus élevée.Sélectionnez des lignes en fonction de la comparaison avec d'autres lignes dans la même vue
x | y
-----+-----
85 | 996
109 | 989
116 | 987
164 | 983
create or replace function sk(tableName text)
returns integer
as $$
declare
count integer;
r record;
begin
count :=3;
for r in execute 'select * from TABLE'
if
loop
count := count - 1;
end loop;
return count;
end
$$ language plpgsql;
Le résultat attendu est une nouvelle vue qui n'a que les points qui ont moins de 3 avec plus x
ou y
.
Modifiez votre question et affichez les résultats souhaités. –
"psql" n'est pas un nom valide pour Postgres, c'est le nom de l'interface de ligne de commande standard. Et vous n'avez pas besoin de "boucle", vous devez résoudre un problème. Le bouclage est une technique possible et rarement une approche efficace dans n'importe quel SGBDR. J'ai pris la liberté de clarifier un peu. –