How can i multiply value in SQL only for in my case specific device (IP)?
My table:
ID | DEVICE | POWER | ENERGY | DATE_OF_READING |
---|---|---|---|---|
1 | 192.168.25.35 | 165 | 250241 | 2023-09-15 08:25:04 |
2 | 192.168.25.36 | 320 | 190322 | 2023-09-15 08:25:04 |
What i want is that sql will return value 650 = 165 x 2 + 320
Currently my script looks like this
SELECT SUM(power) AS "POWER", CONVERT_TZ(date_of_reading,'+2:00','+00:00') AS "DATE OF READING"
FROM energy.realtime
WHERE device IN ('192.168.25.35', '192.168.25.36')
To multiply the POWER
value by 2
for a specific device (IP) in your SQL query, you can use a CASE
statement within the SUM
function.
SELECT
SUM(CASE WHEN device="192.168.25.35" THEN power * 2 ELSE power END) AS "POWER",
CONVERT_TZ(date_of_reading,'+2:00','+00:00') AS "DATE OF READING"
FROM energy.realtime
WHERE device IN ('192.168.25.35', '192.168.25.36')
You can also do it with this querie:
SELECT SUM(IF(device="192.168.25.35",power*2,power)) AS "POWER"
,CONVERT_TZ(date_of_reading,'+2:00','+00:00') AS "DATE OF READING"
FROM energy.realtime
WHERE device IN ('192.168.25.35', '192.168.25.36');