![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Mam taki wynik: ![]() Chciałbym teraz z tego wyniki=u wybrać distinct(question_id). Jak daje group by to nie zachowuje mi tej kolejności jaka jest na tym wyniku - a jest ona koniecznie taka potrzebna. Jak mogę to przerobić, żeby z takiej postaci w tej kolejności wybierało mi distinct? Ten post edytował robos85 22.02.2010, 15:32:42 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Może do każdego rekordu dopisz numer wiersza (na blogu nospora masz to ładnie opisane), następnie użyj GROUP BY question_id i ORDER BY numer wiersza. Powinno być tak jak chcesz.
Ten post edytował phpion 22.02.2010, 15:35:02 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Nie za bardzo rozumiem tamtą rozpiskę z tymi @cośtam:/ Mógłbyś podać jakiś przykład lub coś co mnie jeszcze naprowadzi?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
No chyba masz tam wszystko prosto opisane. @cośtam to zmienne w MySQL. Wykonaj sobie poniższy kod (dla jakieś tabeli):
Kod mysql> SET @nr = 0; Query OK, 0 rows affected (0.00 sec) mysql> SELECT *, (@nr := @nr + 1) AS licznik FROM tabela; +----+--------+---------+ | id | pole | licznik | +----+--------+---------+ | 1 | xxx | 1 | | 2 | yyy | 2 | +----+--------+---------+ 2 rows in set (0.00 sec) Tutaj akurat licznik pokrył się z identyfikatorem, no ale widzisz jak to działa. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
OK, już zrozumiałem o co chodzi z tymi zmiennymi. Tylko co ma mi dać to ten dodatkowy wiersz?
Podłubałem i mam taki efekt, że to zapytanie daje mi takie wyniki: ![]() Chciałbym teraz z tego wybrać question_id unikalnie jak distinct. Do tego qa_id ma byś sortowane jak teraz, czyli malejąco. Dodając group by mam takie zapytanie
Lecz wynik jest taki: ![]() jak widać, kolejność nie była zachowana i w tym przypadku nie powinno być 2ch NULL tylko 1:/ Jak sobie z tym poradzić? poprawiłem zdjęcie bo coś nie działało Ten post edytował robos85 22.02.2010, 21:40:08 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 17:07 |