Ubuntu Suomen keskustelualueet

Muut alueet => Yleistä keskustelua => Aiheen aloitti: JJK - 23.11.22 - klo:18.12

Otsikko: mysql kyselyn järjestys[Ratkaistu]
Kirjoitti: JJK - 23.11.22 - klo:18.12
Olen jo tovin yrittänyt tehdä mysql:stä kyselyyn tarvittavaa järjestystä.
Mutta en vaan millään ole onnistunut.
Mitenhän tätä pitäs oikein lähestyä, kun ei omassa päässä nyt oikein välähdä?

Ensimmäisenä uusin päiväyksen mukaan.
Sitten kaikki samaan ryhmään kuuluvat
Jäljellä olevistä uusin päiväys ja samaan ryhmään kuuluvat
jne....

id  group  date
1     44     2022-10-12
2     44     2022-10-20
3     44     2022-10-10
4     45     2022-10-10
5     45     2022-10-30
6     56     2022-10-22
7     56     2022-10-10
8     51     2022-10-10
9     51     2022-10-25

Toivottu listaus ois kai tämän näköinen

id  group  date
5     45     2022-10-30
4     45     2022-10-10
9     51     2022-10-25
8     51     2022-10-10
6     56     2022-10-22
7     56     2022-10-10
2     44     2022-10-20
1     44     2022-10-12
3     44     2022-10-10
Otsikko: Vs: mysql kyselyn järjestys
Kirjoitti: Snufkin - 24.11.22 - klo:01.16
Jos sulla vaan yksi taulu, niin eikö tuo mene

SELECT *
FROM [taulun nimi]
ORDER BY date, group, id (siinä järjestyksessä, kun pitää järjestää)

Tuolla hyvä kurssi ja paljon oppia ihan selkokielellä
https://tikape.mooc.fi/syksy-2022/index
Otsikko: Vs: mysql kyselyn järjestys
Kirjoitti: JJK - 25.11.22 - klo:16.25
Ei toimi.

Järjestää ensin päiväyksen mukaan ja jos se on sama kuin toisessa rivissa niin järjestää group:n mukaan jne

Tärkeää olisi, että group:t olisi peräkkain samassa nipussa.


Koodia: [Valitse]
SELECT *
FROM test
ORDER BY date DESC, group, id

Tulee näin:
5    45    2022-10-30
9    51    2022-10-25
6    56    2022-10-22
2    44    2022-10-20
1    44    2022-10-12
3    44    2022-10-10
4    45    2022-10-10
8    51    2022-10-10
7    56    2022-10-10
Otsikko: Vs: mysql kyselyn järjestys
Kirjoitti: Snufkin - 26.11.22 - klo:17.40
Ei toimi.

Järjestää ensin päiväyksen mukaan ja jos se on sama kuin toisessa rivissa niin järjestää group:n mukaan jne

Tärkeää olisi, että group:t olisi peräkkain samassa nipussa.


Koodia: [Valitse]
SELECT *
FROM test
ORDER BY date DESC, group, id

Tulee näin:
5    45    2022-10-30
9    51    2022-10-25
6    56    2022-10-22
2    44    2022-10-20
1    44    2022-10-12
3    44    2022-10-10
4    45    2022-10-10
8    51    2022-10-10
7    56    2022-10-10

Ehkä sitten helpon järjestää koodin puolella.
Otsikko: Vs: mysql kyselyn järjestys
Kirjoitti: JJK - 03.12.22 - klo:17.37
Löytyihän ratkaisu.

Koodia: [Valitse]
SELECT *
FROM test t
ORDER BY
    (SELECT MAX(t2.date)
     FROM test t2
     WHERE t.grou = t2.grou) DESC, date DESC
Otsikko: Vs: mysql kyselyn järjestys[Ratkaistu]
Kirjoitti: Snufkin - 03.12.22 - klo:18.24
Hyvä että onnistui.

Mutta kannattaa muistaa, että kun kyse on vain tulosten järjestämisestä, ei sillä ole suurta merkitystä tekeekö sen haussa vai koodissa. Likimain sama määrä dataa liikkuu tietokannan ja ohjelman välillä.
Otsikko: Vs: mysql kyselyn järjestys[Ratkaistu]
Kirjoitti: _Pete_ - 03.12.22 - klo:20.50
Hyvä että onnistui.

Mutta kannattaa muistaa, että kun kyse on vain tulosten järjestämisestä, ei sillä ole suurta merkitystä tekeekö sen haussa vai koodissa. Likimain sama määrä dataa liikkuu tietokannan ja ohjelman välillä.

Sillä on suurikin merkitys tehdäänkö järjestäminen yksi vai kaksi kertaa.