MySQL kysymys

Sql My

Eli on kaksi taulua ”temps” ja ”tempstats”. Kerran vuorokaudessa luetaan antureiden antamat tiedot ”temps” taulusta, lasketaan arvot ja tallennetaan tulokset ”tempstats” tauluun.

Saako tuo jotenkin yksinkertaistettua? Tehtyä esim yhdellä SQL-lausekkeella?

INSERT INTO tempstats (tmp_date) VALUE (CURDATE());
UPDATE tempstats SET sensor1_min = (SELECT MIN(temp) FROM temps WHERE DATE(`datetime`) = CURDATE() and sensor = 0) WHERE (tmp_date = CURDATE());
UPDATE tempstats SET sensor1_max = (SELECT MAX(temp) FROM temps WHERE DATE(`datetime`) = CURDATE() and sensor = 0) WHERE (tmp_date = CURDATE());
UPDATE tempstats SET sensor1_avg = (SELECT AVG(temp) FROM temps WHERE DATE(`datetime`) = CURDATE() and sensor = 0) WHERE (tmp_date = CURDATE());
UPDATE tempstats SET sensor2_min = (SELECT MIN(temp) FROM temps WHERE DATE(`datetime`) = CURDATE() and sensor = 1) WHERE (tmp_date = CURDATE());
UPDATE tempstats SET sensor2_max = (SELECT MAX(temp) FROM temps WHERE DATE(`datetime`) = CURDATE() and sensor = 1) WHERE (tmp_date = CURDATE());
UPDATE tempstats SET sensor2_avg = (SELECT AVG(temp) FROM temps WHERE DATE(`datetime`) = CURDATE() and sensor = 1) WHERE (tmp_date = CURDATE());

Taulut:

temps (id, datetime, temp, sensor)
tempstats (id, tmp_date, sensor1_min, sensor1_max, sensor1_avg, sensor2_min, sensor2_max, sensor2_avg)

1

218

Äänestä

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Tyhmeliininen

      Niin saanenko kysyä miksi haluat laskea noi tiedot toiseen tauluun?

      Jos sinulla ei ole tietokannassa satoja miljoonia rivejä niin moinen on ihan turhuutta. Yksinkertaiset laskutoimitukset tehdään kyselyssä.

      Tällee pitäisi toimia

      SELECT datetime,
      MIN(temp) AS minimi,
      MAX(temp) AS maksimi,
      AVG(temp) AS keskiarvo,
      sensor
      FROM temps
      WHERE DATE(datetime) = CURDATE() AND sensor IN (0, 1)
      GROUP BY sensor

      Toi siis hakee tänpäivän minimin, maksimin ja keskiarvon sensoreilta 0 ja 1. Jos välttämättä haluat tiedot toiseen tauluun niin insertaat ton kyselyn.

      "tempstats (id, tmp_date, sensor1_min, sensor1_max, sensor1_avg, sensor2_min, sensor2_max, sensor2_avg) "

      Huono rakenne, tempstats (id, tmp_date, sensor_min, sensor_max, sensor_avg, sensor) parempi. Jos tulevaisuudessa hankit lisää sensoreita niin kohta sinun tavallasi taulussa sarakkeita todella paljon joista monessa tyhjää tietoa, sikti tieto tallennetaan rivettäin.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuka sitä naista maalittaa

      Täällä oikeasti?
      Ikävä
      196
      1492
    2. Anteeksipyynnöstä

      Uskotko anteeksipyynnön voimaan? Mikä tekee anteeksipyynnöstä vaikeaa? Onko se mielestäsi joskus turhaa, joko pyytäjän
      Ikävä
      140
      934
    3. Voisin jopa maksaa että saisin nähdä sut mies

      Miten helvetissä joku voi olla tollanen kotihiiri. Edes mä en ole noin paha ku sä! Miten sua voi ikinä edes nähdä ?
      Ikävä
      58
      911
    4. Oletko päässyt minusta

      Eteenpäin?
      Ikävä
      85
      892
    5. Ei kukaan ole katsonut

      Kuten sinä. Niin välittävä ja hellä katse.
      Ikävä
      53
      816
    6. Tumman vihreä mercedes

      Mikä se on tuo kylää ympäri ajava vihreä mercedes, takakontti tärisee kuin hullu ja välillä kylän juoppojakin kuskailee,
      Hyrynsalmi
      10
      710
    7. Martinan tarve valehdella.

      Miksiköhän Martina valehtelee niin paljon,onko hän tietoinen siitä että valheistaan jää useimmiten kiinni? Esimerkkinä t
      Kotimaiset julkkisjuorut
      255
      703
    8. Stubb munasi - Suomessa kuuluu liputtaa Suomen lipulla

      Presidentinlinnan ja Mäntyniemen salkoihin nostettiin sateenkaariliput lauantaina. Suurin osa kansasta ei varmasti pidä
      Maailman menoa
      338
      671
    9. Olisitko oikeasti valmis rikkomaan

      Perheesi? En haluaisi sitä, mutta ne on teidän välisiä asioita. Voin olla sinulle vain kaverikin… ei paineita. Minä kesk
      Ikävä
      58
      664
    10. Miksi tällainen pelottaa ja aiheuttaa joillakin ärtymystä?

      "Sitoudun ystävien ja kollegoiden kanssa puuttumaan seksistisiin vitseihin ja vähättelyyn. Sanon ääneen, kun jokin ei ol
      Maailman menoa
      74
      636
    Aihe