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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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