Avatar billede G-pita Nybegynder
22. marts 2011 - 23:11 Der er 1 løsning

SQL Qerry

Hej i kloge hoveder

Jeg kan ikke greje hvorfor dettte ikke virker

JEg vil gerne have SQL til at søge i en tabel multiplicer de rækker som har et ens timestamp og returnere dem til mig

SELECT *
FROM (

SELECT EXP( SUM( LOG( sensor.data ) ) ) AS power,
DATA , TIMESTAMP
FROM sensor_list
LEFT JOIN sensor ON sensor_list.sensor_id = sensor.sensor_id
WHERE sensor_list.production_id =0
AND sensor_list.name =  'current_in_sensor'
OR sensor_list.name =  'voltage_in_sensor'
AND sensor.timestamp
BETWEEN SUBDATE( NOW( ) , 2313 )
AND NOW( )
GROUP BY TIMESTAMP
) AS test
WHERE test.data <> test.power

    power    data    timestamp
    62532    62532    2006-03-17 09:05:37
    124    124    2010-03-16 10:00:54
    412    412    2011-02-10 09:05:59
    5123    5123    2011-03-07 10:00:44
    636    636    2011-03-15 19:30:23
    5000    5000    2011-03-17 08:51:08
    18    3    2011-03-17 08:51:30
    123    123    2011-03-18 10:01:06

Jeg har bare oprettet en række fiktive værdier den eneste som er rigtig og som jeg synes den skulle returnere er 18 - den næst nederste. Hvorfor vil den ikke det?

Jeg skal så lave en AVG på den rigtige power, så jeg vil helst undgå at behandle data i andet sprog -PHP :)
Avatar billede G-pita Nybegynder
07. april 2011 - 08:34 #1
SELECT AVG( a.data * b.data ) as data
FROM `sensor` a, sensor b, sensor_list c, sensor_list d
WHERE a.timestamp = b.timestamp
AND a.sensor_id = c.sensor_id
AND b.sensor_id = d.sensor_id
AND c.name = 'current_in_sensor'
AND d.name = 'voltage_in_sensor'
AND c.production_id = 0
AND d.production_id = 0
AND a.timestamp BETWEEN SUBDATE(NOW(),$_POST[data_interval]) AND NOW()
AND b.timestamp BETWEEN SUBDATE(NOW(),$_POST[data_interval]) AND NOW()

kan gøre det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Metroselskabet og Hovedstadens Letbane

IT Full Stack-udvikler

Netcompany A/S

IT Consultant

Netcompany A/S

IT Manager