![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 23.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam takie zapytanie do bazy:
chciałbym aby rekordy z kolumny nazwa, które mają taką samą nazwę nie wyświetlały się. Próbowałem z DISTINCT ale mi nie wychodziło. w poniższym się zgadza, "nazwa" nie dublują się, ale potrzebuje też pobrać więcej danych z kolumn tym zapytaniem z góry dzięki za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 23.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
wywala błąd:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in engine.php on line 1270 w linii błędu jest: bez tego Group by wyświetla rekordy, lecz nie tak jak tego chcę |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No to wrzuć zapytanie do phpmyadmin i powiedz jaki wywali błąd.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 23.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
#1064 - Something is wrong in your syntax obok 'group by nazwa
LIMIT 0, 30' w linii 1 Ten post edytował banki 29.07.2010, 09:34:43 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 49 Dołączył: 29.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
@wookie: z tego co pamiętam, to klauzula ORDER BY musi być za klauzulą GROUP BY, to raz. A dwa, że takie zapytanie nie ma prawa zadziałać, bo w GROUP BY trzeba wymienić *wszystkie* kolumny, które nie są funkcjami grupującymi.
@banki: spróbuj tak:
Ciut niewydajne, ale powinno wyciągnąć to co trzeba. Powiedz jeszcze na której (których) kolumnie (kolumnach) jest klucz główny? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
@wookieb: z tego co pamiętam, to klauzula ORDER BY musi być za klauzulą GROUP BY, to raz. Faktycznie źle testowałem Cytat A dwa, że takie zapytanie nie ma prawa zadziałać, bo w GROUP BY trzeba wymienić *wszystkie* kolumny, które nie są funkcjami grupującymi. Tak jest w postgresie a nie mysql. PS Twoje zapytanie właśnie nie działa ![]() Ten post edytował wookieb 29.07.2010, 10:16:33 -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 34 Dołączył: 7.12.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A dwa, że takie zapytanie nie ma prawa zadziałać, bo w GROUP BY trzeba wymienić *wszystkie* kolumny, które nie są funkcjami grupującymi. Nie w MySQLu ![]() ![]()
Ciut niewydajne, ale powinno wyciągnąć to co trzeba. Ciut? ![]() @wookie: z tego co pamiętam, to klauzula ORDER BY musi być za klauzulą GROUP BY, to raz. A to się zgadza ![]() Pozdrawiam |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 49 Dołączył: 29.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie w MySQLu :) W PostgreSQL owszem :) Możliwe - niestety ostatnio mam mniej do czynienia z MySQL na rzecz Oracle, mogłem zapomnieć :( Przepraszam jeśli wprowadziłem w błąd. Ciut? :) Ciut - jeśli indeksy są tam gdzie trzeba (stąd moje pytanie o klucz). Rozumiem, że w MySQL, zgodnie z tym co napisałeś wyżej, wystarczy zmienić kolejność klauzul w zapytaniu wookieb i będzie hulało? Jeśli tak, to oczywiście "this is the way to go" :) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 23.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
metodą prób i błędów doszedłem jak mogę zrobić to co chcę, Wasze uwagi też pomogły, lecz teraz jeszcze inny problem mam
![]()
jeśli 2 wiersze się powtarzają, pokazuje tylko jeden, jest spoko ok | nazwa |rocznik| data | ile_sztuk | | nazwa1 | 1990 | 20.01.2001 | 20 | | nazwa1 | 1990 | 20.01.2001 | 10 | | nazwa2 | 1980 | 20.01.2001 | 20 | | nazwa3 | 1982 | 20.01.2001 | 20 | to jest taka tabelka, chciałbym teraz aby dane z kolumny ile_sztuk się zsumowały gdzie nazwa jest taka sama (ale dalej wyświetla się tylko raz "nazwa1" zamiast 2 razy. jeśli niejasno napisałem rozpisze raz jeszcze, ale chyba wiadomo o co chodzi |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 49 Dołączył: 29.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 23.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
dobra sorki panowie za glupie pytanie, najpierw zapytalem potem odpaliłem google a znalazlem od razu, glupi moj blad.
dzieki za pomoc |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:13 |