Autor Zpráva
maarlin
Profil
Příkladem je následující tabulka:
| id | user_id | message_text |
-------------------------------
| 1  |    152  | Lorem Ipsum  |
| 2  |    253  | Lorem ipsum  |
| 3  |    253  | Lorem Ipsum  |
| 4  |     15  | Lorem Ipsum  |


Tyto záznamy bych potřeboval seřadit podle toho, kolikrát se v konkrétním sloupci vyskytuje stejná hodnota - tzn. zde by se třeba jednalo o výpis userů seřazený dle počtu příspěvků na usera.

Výsledný seřazený výpis by měl vypadat takto (včetně vyřazených duplicit pomocí DISTINCT):
| id | user_id | message_text |
-------------------------------
| 2  |    253  | Lorem ipsum  |
| 1  |    152  | Lorem Ipsum  |
| 4  |     15  | Lorem Ipsum  |

Dumám nad tím a nemůžu se dobádat výsledku...
TomášK
Profil
SELECT user_id, COUNT(*) AS pocet FROM table GROUP BY user_id ORDER by pocet;

Ale nebude tam ani id, ani message_text - databáze neví, který vybrat - např. uživatel 253 má víc příspěvků, ale ve výsledné tabulce je pro něj jen jeden.
bohyn
Profil
Ale nebude tam ani id, ani message_text - databáze neví, který vybrat - např. uživatel 253 má víc příspěvků, ale ve výsledné tabulce je pro něj jen jeden.
SELECT user_id, COUNT(*) AS pocet, message_text FROM table GROUP BY user_id ORDER by pocet;

ID i text tam bude, ale jen jednoho prispevku (tusim ze ten ktery MySQL najde jako prvni a nespolehal bych ze bude vzdy stejny).
TomášK
Profil
bohyn
Máš pravdu, id tam může být, chtěl jsem, aby si uvědomil, co vlastně po tom dotazu chce. A potvrzuju i to, že MySQL tam dá libovolné id ze skupiny, ze které si může vybrat - nedávno jsem na to narazil.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0