» »

sql "order by"

sql "order by"

BRBR ::

Imam en field po katerem bi naredil order by v temle smislu (če so vrednosti npr 1 in 2, actual so string vrednosti):
1
2
1
2
1
2

ostali fieldi - order nepomemben.

Kakšna ideja ?
  • spremenil: BRBR ()

U2ros ::

Iščeš nekakšen alternating row izpis?

mlamat ::

ORDER BY ROW_NUMBER() OVER ( PARTITION BY polje ORDER BY polje )

MrStein ::

Hmm, ne dela:
SQL> select * from test;

         A
----------
         1
         1
         1
         2
         2
         2

6 rows selected.

SQL>  select * from test ORDER BY ROW_NUMBER() OVER ( PARTITION BY a  ORDER BY a);        

         A
----------
         1
         2
         2
         1
         2
         1

6 rows selected.


To pa že malo bolj:
SQL> select a  from test  ORDER BY ROW_NUMBER() OVER ( PARTITION BY a  ORDER BY a), a;

         A
----------
         1
         2
         1
         2
         1
         2

6 rows selected.

Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

BRBR ::

Na MYSQL zgleda da dela tole:

select IF (a = 1,@l:=@l+2,@s:=@s+2) s,@l,@s
from test t  JOIN (SELECT @l:=-1, @s:=0) t1
order by s;

pri čemer tole dela samo če sta 2 alternating, enim dam lihe (l) cifre drugim pa sode(s).
Za kaj več kot dve tole ne bi delovalo.


Vredno ogleda ...

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

[SQL] Filtriranje

Oddelek: Programiranje
7900 (655) korenje3
»

[SQL] Pohitritev izpisa

Oddelek: Programiranje
252890 (1789) kuall
»

Učenje programiranja PHP

Oddelek: Programiranje
91474 (1015) Spura
»

[SQL] teževa pri iskanju zapisov

Oddelek: Programiranje
102100 (1690) lopow
»

[sql]-stevilka vrstic

Oddelek: Programiranje
121114 (977) bmandl

Več podobnih tem