I'll try to calculate the minimum value of four different columns in my QGIS table like:
The min. value would be 1,50286 in the first row.
Is there any expression or tool to find the minimum value and write it into a new field?
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.
Sign up to join this communityI'll try to calculate the minimum value of four different columns in my QGIS table like:
The min. value would be 1,50286 in the first row.
Is there any expression or tool to find the minimum value and write it into a new field?
Simply use Field Calculator
and create new field with
min(A,B,C)
where A, B, C, are field names
If you need to keep the field (min_ABC
) updated, set the expression to default value of the field. It can be done in Attributes Form setting in Layer Properties. Scroll down in the right part of window fill the default value and check Apply default value on update. Than it will automatically update when you change the values, and also works on new features.
Notice that this will work only on update not if you fill the values in the process of creating feature.
minimum(min(A,B,C))
In case you do not want to modify your original data then I can suggest using a "Virtual Layer" through Layer > Add Layer > Add/Edit Virtual Layer...
Let's assume we have three features in 'layer' with three values accordingly, see the image below.
With the following query, it is possible to achieve the result
SELECT l.*, MIN(l.Value1, l.Value2, l.Value3) AS MIN_VALUE
FROM layer AS l
GROUP BY l.id
The output Virtual Layer will maintain initial attributes and geometries and an additional field "MIN_VALUE"
.