mysql sortieren

dannyt

Grünschnabel
Hallo,

ich möchte mir 2 Spalten (visits,zeit) in einer Top10 Liste ausgeben lassen. Das Problem dabei ist das ich die zeit (abhängig voneinander) entgegengesetzt der visits sortieren lassen möchte so dass z.b der älteste ( alt im bezug auf zeiteintrag) von den 2 benutzern mit gleichen visit in den top10 höher kommt als der jüngere. Ein Beispiel....


Platz 1

visits : 2

vö_zeit (zeit der veröfentlichung) : 19


Platz 2

visits : 2

vö_zeit (uhrzeit der veröfentlichung) : 10


Platz 3

visits : 1

vö_zeit (uhrzeit der veröfentlichung) : 5


Ich habe es mit folgenden SQL probiert :

SELECT vo_time, visit,chart_id FROM tabelle_top10 ORDER BY vo_time, visit,chart_id

dabei wird das ganze in folgender Reihenfolge ausgegeben :


Platz 2

visits : 2

vö_zeit (zeit der veröfentlichung) : 19


Platz 1

visits : 2

vö_zeit (uhrzeit der veröfentlichung) : 10


Platz 3

visits : 1

vö_zeit (uhrzeit der veröfentlichung) : 5


Hat dafür jemand eine Lösung ?

Vielen Dank.
 
Hallo!

Schau mal hier:
Code:
mysql> create table visits(id int, visits int, age int);
Query OK, 0 rows affected (0.52 sec)

mysql> insert into visits values (0, 2, 10);
Query OK, 1 row affected (0.10 sec)

mysql> insert into visits values (1, 2, 19);
Query OK, 1 row affected (0.03 sec)

mysql> insert into visits values (2, 5, 21);
Query OK, 1 row affected (0.11 sec)

mysql> select * from visits;
+------+--------+------+
| id   | visits | age  |
+------+--------+------+
|    0 |      2 |   10 |
|    1 |      2 |   19 |
|    2 |      5 |   21 |
+------+--------+------+
3 rows in set (0.02 sec)

mysql> select * from visits order by visits asc, age desc;
+------+--------+------+
| id   | visits | age  |
+------+--------+------+
|    1 |      2 |   19 |
|    0 |      2 |   10 |
|    2 |      5 |   21 |
+------+--------+------+
3 rows in set (0.04 sec)

bzw. für die Top 10:

mysql> select * from visits order by visits asc, age desc limit 10;
+------+--------+------+
| id   | visits | age  |
+------+--------+------+
|    1 |      2 |   19 |
|    0 |      2 |   10 |
|    2 |      5 |   21 |
+------+--------+------+
3 rows in set (0.01 sec)

Gruß Tom
 
Zurück