Olisin kysellyt SQL ohjelmoinnista.Tietääkö kukaan mikä kysely olisi oikein jos kysytään että laadi SQL kysely joka laskee kirjojen kokonaismäärän varastossa.
Olen yrittänyt laittaa
SELECT *
FROM "varasto"
mutta tämä ei mene läpi
onko johonkin kohtaan kirjoitettava "lukumaara" ja onko kyseessä ehkä SUM tai WHERE lauseke
SELECT *
FROM "varasto" "lukumaara" ei myöskään tuota tyydyttäävää lopputulosta
Tervehdys kaikille
21
967
Vastaukset
- noistakin_riippuu
Riippuu ainakin tietokannasta, sen sijainnista, sekä tietokannan kentistä, mitä SQL-kyselyyn pitää kirjoittaa.
- select-män
SELECT SUM(column_name)
FROM table_name
WHERE condition; - COUNT-SUM-AVG
Täällä asia niin hyvin kerrottuna ettei paremmasta väliks:
https://www.w3schools.com/sql/sql_count_avg_sum.asp - Näinikkäästi_ikkäänkuin
Varasto-taulun kaikki rivit saat laskettua SELECT COUNT(*) FROM varasto vaan onko varasto-taulussa muutakin kuin kirjarivejä tai esim rivillä kirjojen lukumäärä?
- toopelle
Eipäs kun näin:
SELECT COUNT()
FROM Varasto;
- jossainpienivirhe
Jos kirjoitan
SELECT *
FROM "varasto"
Niin vastaus on vihreällä värillä:
Your SQL statement executed successfully COUNT 9
MUTTA
Your SQL statement produced wrong result (punaisella värillä)
Expected result is 4091 - pilkkuaviilatessa
SELECT *
FROM "varasto";
En ymmärrä koska valitaan kaikki varastosta mutta tulos ei anna 4091 vaan 9 - tietokannatjapääavaimet
Tietokanta KIRJA:
kirjaid integer NOT NULL
nimi character varying 32 NOT NULL
tekijaid integer
kustantajaid integer
sivuja integer
hinta double precision
julkaisupvm date
Tetokanta Kirjailija:
tekijaid integer NOT NULL
sukunimi character varying 32 NOT NULL
etunimi character varying 32 NOT NULL
Tetokanta Kustantaja:
kustantajaid integer NOT NULL
nimi character varying 32 NOT NULL
osoite character varying 32
postinro character varying 32
toimipaikka character varying 32
Tietokanta Varasto:
varastoid integer NOT NULL
kirjaid integer
lukumaara integer NOT NULL - pienestäkiinni
SELECT lauseke jossa - * / niin FROM ja WHERE
mutta tämän pitäisi olla tosi simppeli mutta ei vain onnistu - rakenne
Eli onko kyseessä SELECT * vai COUNT vai SUM lauseke ja pitääkö olla mukana myös lukumaara
- helppoa-kuin-mikä
Tietysti pitää mukana olla, miksi edes kyselet sellaista.
- Hohhoijaati
Mitkä on kantapalvelimen suojaukset? ei sieltä mitä vaan voi kysyä, kun lentää pihalle, haitta yhteytenä.
- kokeiletätä
SELECT COUNT()
FROM Varasto;
- hgfdsasdf
Löytyihän se kaivattu tietokanta-schema (taulut ja niiden kentät) eli nuo kirja, kirjailija, kustantaja ja varasto on tietokannan tauluja ja kysytty select taulusta varasto on yksinkertaisesti:
select sum(lukumaara) from varasto
koska siinä kaikki on kirjoja, tässä ei tarvita where-lauseketta.- envaannosaa
Mikä olisi tämän ratkaisu:
Laadi SQl-lause, joka tulostaa Kirja taulusta sellaisten kirjojen keskihinnan, jotka maksavat yli 20 mutta alle 30.
Olisiko tännepäin kuten:
SELECT AVG("hinta") FROM ....... >20 AND <30;
- mitä_lasketaan
Lasketaanko tässä nyt nimekkeiden määrää vai kaikkien kirjojen yhteismäärää, sillä tietokannan mukaanhan yhtä nimekettä voi olla useampi kappale.
hrmm eiköhän tuon parilla piuhalla ja aimo kronksautuksella saa aikaan
- logiikkaa
Se menikin läpi pelkällä varastolla eikä kirjaa tarvittu mainita ollenkaan eli
SELECT SUM("lukumaara") FROM varasto; eli pelkästään varastossa oli tieto kirjojen lukumäärästä.
Joskus yksinkertainen on välillä vaikeaa hoksata.- cooldude
Kiitos hgfdsasdf koska nyt huomasin kirjoituksesi ja olit oikeassa.
- Anonyymi
Vain homot käyttää 70-luvun fossiilista muinaisjäännettä nimeltä SQL. NoSQL on tämänpäivän trendi ja tulevaisuudessa kukaan ei enää käytä mitään muuta kuin sitä.
- Anonyymi
Tuo SQL käyttäjien seksuaalinen suuntautuminen tuskin pitää paikkaansa, mutta muilta osin hyvinkin mahdollista.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.2010787- 408047
- 1235191
- 693518
- 1103516
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi283467- 613370
- 333137
- 502427
Olisipa saanut sinuun
Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak341936