» »

[mysql] group by in pogoji za izpis

[mysql] group by in pogoji za izpis

shorvat ::

Lep pozdrav,

imam tabelo v kateri so shranjeni komentarji. Če poenostavim, so v tabeli tri polja (id_rubrika, datum in komentar). Vaka rubrika lahko ima več komentarjev.

Rad bi izpisal najstarejši komentar iz vsake rubrike.

Mislim, da bo prava rešitev uporaba GROUP BY agregata, ampak mi zadeva ne uspe.

SELECT * FROM komentarji GROUP BY id_rubrika HAVING datum=MIN(datum)


Primer napolnjene tabele:
----------------------------------------
| id_rubrika   |    datum   | komentar |
----------------------------------------
|            1 | 2010-03-01 | oijoij   |
|            2 | 2010-03-02 | trfrdd   |
|            2 | 2010-03-03 | 8zzggf   |
|            1 | 2010-03-04 | 8ig65f   |
|            3 | 2010-03-05 | ttf6ff   |
----------------------------------------


Željeni izpis:
----------------------------------------
| id_rubrika   |    datum   | komentar |
----------------------------------------
|            1 | 2010-03-01 | oijoij   |
|            2 | 2010-03-02 | trfrdd   |
|            3 | 2010-03-05 | ttf6ff   |
----------------------------------------


SQL stavek, ki sem ga navedel zgoraj pa vrne:
----------------------------------------
| id_rubrika   |    datum   | komentar |
----------------------------------------
|            3 | 2010-03-05 | ttf6ff   |
----------------------------------------


Se pravi, SQL stavek vrne samo komentarje pod pogojem, da ima rubrika izključno en komentar.

Prosim za pomoč,

hvala, Sašo

shorvat ::

Mi je uspelo rešiti problem

SELECT * FROM  komentarji k JOIN 
(SELECT id_rubrika, MIN(datum) as dm FROM komentarji GROUP BY id_rubrika) kk
USING (id_rubrika)
WHERE k.datum=kk.dm


Če kdo pozna bolj optimalen SQL za ta problem, se priporočam.

Hvala, Sašo

Zgodovina sprememb…

  • spremenil: shorvat ()

PureHemp ::

Mislim, da je tale veliko bolj optimalen :)

SELECT * FROM komentarji GROUP BY id_rubrika ORDER BY id_rubrika ASC, datum DESC;

LP,
P

shorvat ::

Hvala,

ampak tako ne bo šlo, ker lahko uporabniki datum vpisa sami nastavijo (v resnici ne gre za tabelo komentarji). To tabelo sem navedel, ker sem hotel poenostavil celotno zadevo, ampak sem pozabil omeniti ključen podatek (da lahko datum uporabnik sam nastavi), zato urejanje po polju "id_rubrika" odpade.

Se opravičujem za pomankljivo opisan problem.

Hvala, Sašo


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL vprasanje (strani: 1 2 )

Oddelek: Programiranje
688344 (5023) BivšiUser2
»

[SQL] - Poizvedba

Oddelek: Programiranje
7860 (630) tx-z
»

[SQL] - združitev glede na iste vrednosti

Oddelek: Programiranje
131390 (1032) tx-z
»

Normalizirana struktura - query

Oddelek: Programiranje
191720 (1340) frudi
»

sql select stavek

Oddelek: Programiranje
121465 (1367) zavajon

Več podobnih tem