Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z sortowaniem przed grupowaniem
menda90
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.11.2008

Ostrzeżenie: (0%)
-----


Witam, wiem że temat był dużo razy poruszany ale nadal nie potrafię zastosować go do swoich potrzeb.
Mam tabelę:
  1. CREATE TABLE IF NOT EXISTS `wiadomosci` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `grupa` int(11) NOT NULL,
  4. `wiadomosc` varchar(2048) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL,
  5. `from_id` int(11) NOT NULL,
  6. `to_id` int(11) NOT NULL,
  7. PRIMARY KEY (`id`)
  8. );
  9.  
  10.  
  11. INSERT INTO `wiadomosci` (id, grupa, wiadomosc, from_id, to_id) VALUES (`1`, `1`, `Witam`,`20`,`30`);
  12. INSERT INTO `wiadomosci` (id, grupa, wiadomosc, from_id, to_id) VALUES (`2`, `1`, `Witam2`,`20`,`30`);
  13. INSERT INTO `wiadomosci` (id, grupa, wiadomosc, from_id, to_id) VALUES (`3`, `2`, `Witam3`,`22`,`30`);
  14. INSERT INTO `wiadomosci` (id, grupa, wiadomosc, from_id, to_id) VALUES (`4`, `2`, `Witam4`,`30`,`22`);
  15. INSERT INTO `wiadomosci` (id, grupa, wiadomosc, from_id, to_id) VALUES (`5`, `2`, `Witam5`,`22`,`30`);


i chcę wyciągnąć najświeższą wiadomość dla id uzytkownika="30" , gdzie grupowanie jest po polu "grupa", a najświeższa wiadomość to ta, która ma największe "id".

  1. SELECT wiadomosc FROM wiadomosci WHERE from_id=30 OR to_id=30 GROUP BY grupa ORDER BY id DESC

wyciąga mi
  1. Witam
  2. Witam3

a potrzebne
  1. Witam2
  2. Witam5

jakiś pomysł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




pmir: To że przeczy dokumentacji, nie znaczy że MySQL tak się nie zachowuje. Pracowałem z wersjami od 3.X do 5.X i za każdym razem tak się zachowywał. Moje więc zdanie wynika nie tyle z czytania dokumentacji, co realnego i praktycznego implementowania zapytań. Możliwe, że któraś z (od którejś) wersji zachowuje sie inaczej, ponieważ nie wszystkie na kompie miałem i testowałem. Jak na razie jednak zachowuje się w ten sposób od kilku wersji, więc trudno nie mieć wrażenia, że jednak tutaj determinizm przez ogromnie długi czas występuje, nawet mimo faktu, że nie jest zgodny z dokumentacją. Jakkolwiek dzięki za cynk, przyjrzę się w swoich systemach, czy aby nie zafałszowuje mi to gdzieś wyniku. Póki co bowiem wszystko działa w porządku.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 13:11