SQL-lause haussa

apuja? ei kotitehtäv

Olkoon tietokanta seuraavanlainen (CSV)

HenkilöID, AutoID
1,10
2,12
3,3
4,12
5,3
6,2

Millä yksittäisellä SQL-lauseella voi valita rivin, jossa AutoID=12 esiintyy a) ensimmäisen b) viimeisen kerran?

3

406

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • sdfsfsfd

      Onko tämä siis joku csv-tietokanta vai joku "oikea" tietokanta jonka data nyt on vaan esitetty CSV-muodossa?

      Relaatiotietokannassa riveillä ei ole varsinaisesti järjestystä. Voit järjestää ne haluamallasi tavalla, tai ottaa ne missa muodossa ne sattuvat tulemaankin.

      Toteutustapa riippunee tietokannasta. Ensimmäisen ja viimeisen haku onnistuu samalla tavalla kunhan sorttaat sen päinvastaisesti.

      Tämäntapaisen pitäisi toimia mikkisoftan mssql:ssä - järjestää henkilöID:n perusteella kun järkevämpääkään ei näytä olevan käsillä:
      SELECT TOP 1 *
      FROM taulu
      WHERE AutoID=12
      ORDER BY HenkilöID ASC

      ("viimeistä" varten ORDER BY HenkilöID DESC)

      huom: tuo "TOP 1" on tietokantakohtaista. Jossain mysql se taitaa olla limit tms.

      • kiitän

        mitä en koskaan ole oppinut sisäistämään täysin, C , java, konekielet sun muu on selvää pässinlihaa mutta SQL vaan menee monilta osin yli, etenkin kaikki inner/outer joinit sun muut. Joten kiitos vastauksesta!


    • Miten ensimmäisen tai viimeisen? Eihän tuossa ole järjestystä määritelty.

      Vastauksia on monenlaisia ja kielestä riippuen. Ensimmäisen valinta on triviaalia (limit, top, jne avainsanoja), viimeinen vaatii rivinumeron lisäämisen ja niistä viimeisen hakemisen. Minä varmaan kirjoittaisin ensin haun jossa rivinumero mukana, pistäisin sen toisen haun lähdeaineistoksi ja järjestäisin rivinumeron mukaan laskevaksi. Sen jälkeen triviaali.

      Mutta vieläkään en ymmärrä, miten sinä sen järjestyksen päättelet. :)

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

    Luetuimmat keskustelut

    1. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      138
      10722
    2. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      52
      5140
    3. Taas ryssittiin oikein kunnolla

      r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html
      NATO
      45
      2353
    4. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      108
      2170
    5. Missä olet ollut tänään kaivattuni?

      Ikävä sai yliotteen ❤️ En nähnyt sua tänään söpö mies
      Ikävä
      29
      2053
    6. Vanha Suola janottaa Iivarilla

      Vanha suola janottaa Siikalatvan kunnanjohtaja Pekka Iivaria. Mies kiertää Kemijärven kyläjuhlia ja kulttuuritapahtumia
      Kemijärvi
      13
      1661
    7. Valtimon Haapajärvellä paatti mäni nurin

      Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,
      Nurmes
      41
      1482
    8. Tiedän kuka sinä noista olet

      Lucky for you, olen rakastunut sinuun joten en reagoi negatiivisesti. Voit kertoa kavereillesi että kyl vaan, rakkautta
      Ikävä
      29
      1164
    9. Känniläiset veneessä?

      Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v
      Nurmes
      34
      1123
    10. Rakastuminenhan on psykoosi

      Ei ihme että olen täysin vailla järkeä sen asian suhteen. Eipä olis aikoinaan arvannut, että tossa se tyyppi menee, jonk
      Ikävä
      55
      1024
    Aihe