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

166

    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. Kumpi on sekaisempi - Koskenniemi vai Trump?

      Koskenniemi haukkui Trumppia A-studiossa, niin että räkä lensi suusta. Sen sijaan Trump puheessaan sanoi, että Grönlant
      Maailman menoa
      177
      3523
    2. Kolmen tuiki tavallisen demariahdistelijan nimet julki

      Nyt tiedetään ketkä kolme oli niissä niin tavanomaisissa demarin jokapäiväisissä askareissa avustajia ahdistelemassa. K
      Maailman menoa
      67
      2653
    3. Saisinpa halata sinua joka päivä

      ja kertoa miten paljon sinusta välitän. Vaikka olisi jommalla kummalla huono päivä, väsynyt päivä tai kiireinen päivä, a
      Ikävä
      27
      2607
    4. Sannahan laski sähkön ALV:n 10 prosenttiin, Riikka runnoi 25,5 %:iin

      Tässäkin nähdään kumpi on Suomen kansan puolella, ja kumpi omaa vastaan. Putinistipersuille Suomen kansa tulee aina vii
      Maailman menoa
      65
      2199
    5. Kaivattusi silmin

      Minkälaisen kuvan olet omasta mielestäsi antanut itsestäsi kaivatullesi?
      Ikävä
      199
      2095
    6. Antti Lindtman: "Ainahan kaikenlaisia huhuja liikkuu"

      Näin hän siis vastaa SDP:n häirintäkohuun, väistelee vastuutaan Juttuhan on niin, että Lindtman ja Tuppurainen on tasan
      Maailman menoa
      43
      1689
    7. Martinan pankkikortti

      Seiska uutisoi, että Martina antoi pankkilortin tyttärilleen. Siinä on vaan sellainen pointti, että pankkikorttia ei saa
      Kotimaiset julkkisjuorut
      357
      1579
    8. Kadonnut Kajaanissa

      Yllättävän hyvät kuvat poliisilla, luulisi löytyvän niiden perusteella?
      Kajaani
      26
      1401
    9. Riikka Purra perustelee hallituksen leikkauspolitiikkaa

      Odotukset ovat kovat, mutta puhe on poikkeuksellisen onttoa jopa hallituksen omalla mittapuulla. Vastuu työnnetään alas,
      Perussuomalaiset
      102
      1378
    10. Muistattekos kun kaupassa piti pyytää tavarat myyjältä

      Edes kahvipakettia ei saanut itse valita, vaan myyjä nouti sen hyllystä tiskille. Jos osti jauhelihaa, niin se jauhettii
      Maailman menoa
      199
      1371
    Aihe