Autor Zpráva
Hugo123
Profil *
Mam tabulku

clanky:
id iduzivatel text

Users:
id, username

A ja chcem taky select, ktory mi vypise uzivatelov od najviac clankov po najmenej, ale kto ma 0 clankov tak sa nevypisu.

Dakujem moc krat
Alphard
Profil
select u.username from Users u join clanky c on c.iduzivatel = u.id group by u.username order by count(*) desc
Hugo123
Profil *
nefunguje to :( preco`?
Alphard
Profil
psal jsem to zpaměti :-) jakou chybu to píše?
Hugo123
Profil *
ziadnu, ale naslo 0 vysledkov ako je to mozne?
Alphard
Profil
nevím, teď jsem to zkusil a mně to jde, možná špatně chápu struktury tabulek, kdyžtak se na to podívej
mysql> select * from p1;
+------+---------+-------------+
| id   | idKnihy | idZakaznika |
+------+---------+-------------+
|    1 |      20 |          45 |
|    2 |      21 |          12 |
|    3 |      22 |          16 |
|    4 |      22 |          18 |
|    5 |      22 |          18 |
|    6 |      25 |          17 |
|    7 |      30 |          64 |
|    8 |      32 |          51 |
|    9 |      32 |          51 |
|   10 |      32 |          51 |
|   11 |      32 |          76 |
|   12 |      32 |         102 |
|   13 |      78 |          99 |
+------+---------+-------------+
13 rows in set (0.00 sec)

mysql> select * from p9;
+------+-----------------+
| id   | nazev           |
+------+-----------------+
|   22 | Vojna a mir     |
|   32 | Anna Kareninova |
|   20 | Evzen Onegin    |
|   21 | Demon           |
|   25 | Revizor         |
|   30 | Zlocin a trest  |
|   78 | Idiot           |
+------+-----------------+
7 rows in set (0.00 sec)

mysql> select u.nazev from p9 u join p1 c on c.idKnihy = u.id group by u.nazev order by count(*) desc;
+-----------------+
| nazev           |
+-----------------+
| Anna Kareninova |
| Vojna a mir     |
| Evzen Onegin    |
| Demon           |
| Revizor         |
| Zlocin a trest  |
| Idiot           |
+-----------------+
7 rows in set (0.00 sec)
Alphard
Profil
včetně počtu by to bylo takhle:
mysql> select u.nazev, count(*) pocet from p9 u join p1 c on c.idKnihy = u.id group by u.nazev order by pocet desc;
+-----------------+-------+
| nazev           | pocet |
+-----------------+-------+
| Anna Kareninova |     5 |
| Vojna a mir     |     3 |
| Evzen Onegin    |     1 |
| Demon           |     1 |
| Revizor         |     1 |
| Zlocin a trest  |     1 |
| Idiot           |     1 |
+-----------------+-------+
7 rows in set (0.00 sec)
Hugo123
Profil *
dakujem toto uz ide :o)
Toto téma je uzamčeno. Odpověď nelze zaslat.