In database I have two table. I want to join two tables and get last row each SensorType
Sensors table:
| Id | CodeNumber | PortNumber | SensorType | IsActive | 
|---|---|---|---|---|
| 13 | Dht11 | 3 | 0 | 1 | 
| 14 | Dht11 | 3 | 2 | 1 | 
| 17 | Global | 100 | 4 | 1 | 
| 18 | Dht11 | 3 | 1 | 1 | 
| 19 | Dht11 | 3 | 3 | 1 | 
SensorsValue table (SensorId is foreign key Sensors table):
| Id | SensorId | Value | DateOfRetrevingValue | 
|---|---|---|---|
| 19 | 13 | 25 | 2021-07-23 08:50:27.0000000 | 
| 20 | 14 | 45 | 2021-07-23 09:50:27.0000000 | 
| 21 | 17 | 12 | 2021-07-23 10:50:27.0000000 | 
| 22 | 18 | 24 | 2021-07-23 11:50:27.0000000 | 
| 23 | 19 | 45 | 2021-07-23 12:50:27.0000000 | 
| 24 | 13 | 23 | 2021-07-23 13:50:27.0000000 | 
| 25 | 14 | 56 | 2021-07-23 14:50:27.0000000 | 
| 26 | 17 | 23 | 2021-07-23 15:50:27.0000000 | 
| 27 | 18 | 34 | 2021-07-23 16:50:27.0000000 | 
| 28 | 19 | 23 | 2021-07-23 17:50:27.0000000 | 
I want to join two tables and select SensorType from Sensors table and last Value (from SensorsValue) each SensorType. In this case i want get result:
|SensorType|Value|
|----------|-----|
|    0     | 23  |
|    2     | 56  |
|    4     | 23  |
|    1     | 34  |
|    3     | 13  |
I found this post and use this statement:
SELECT distinct Sensor.Type, MAX(SensorValues.Id), SensorValues.Value
FROM Sensor
INNER JOIN SensorValues ON Sensor.Id=SensorValues.SensorId
GROUP BY Sensor.Type
but I got error:
Column 'SensorValues.Value' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
If I use this statement without SensorValues.Value query work, but I got result:
|SensorType|Id|
|----------|--|
 
     
     
     
    