![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 18.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z zapytaniem sql - moze ktos z forum mi pomoze. Z gory dzieki za pomoc ![]() Mam taka tabele z notowania gieldowymi: time | data | czas | name | wartosc 1165937702 | 2006-12-12 | 16:35:01 | TECHWIG | 1244.79 1165937701 | 2006-12-12 | 16:35:00 | MIDWIG | 3858.31 1165937701 | 2006-12-12 | 16:35:00 | TECHWIG | 1244.79 1165937670 | 2006-12-12 | 16:34:30 | TECHWIG | 1244.79 1165937642 | 2006-12-12 | 16:34:01 | WIG | 51747.14 1165937641 | 2006-12-12 | 16:34:00 | MIDWIG | 3858.31 1165937641 | 2006-12-12 | 16:34:00 | TECHWIG | 1244.79 1165937611 | 2006-12-12 | 16:33:30 | TECHWIG | 1244.79 1165937581 | 2006-12-12 | 16:33:01 | WIG | 51747.14 W tabeli sa jeszcze inne notowania name, ale u gory dla przykladu wylistowalem tylko te, o ktore mi chodzi i jak sie one dubluja w czasie. Chcialbym wyswietlic rekordy z name WIG, TECHWIG, MIDWIG, ktore maja najwieksza date, czyli te ktore sa najswiezsze. Te 3 rekordy chcialbym uzyskac oczywiscie w 1 zapytaniu. Stosuje tutaj m.in.
Stosuje tutaj rozne kombinacje zapytania np. z DISTINCT na poczatku zapytania uzywajac funkcji ORDER BY na koncu, ale zawsze dochodzi do sytuacji, ze dubluja mi sie notowania np. dostaje 2 razy TECHWIG i raz MIDWIG, a WIG juz nie dostalem... Probowalem tez uzyc GROUP BY name, ale pokazuje mi rekordy ktore sa najstarsze, a nie najswiezsze - dodanie ORDER BY oczywiscie nic tutaj nie pomaga :| Moze ktos ma pomysl jak szloby takie zapytanie zmienic? Z gory dziekuje za ewentualna pomoc ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
widze ze jako tako jestes obcykany w temacie, wiec rzuce ci slowami kluczowymi. czesc sie pokrywa z tymi co masz, ale o paru zapomniales:
group by, having, max(polezdata) ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 18.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za podpowiedz, ale dalej nie umiem znalesc rozwiazania - szczegolnie gdy operuje na tabeli zawierajacej notowania kilkuset spolek i wszystko jest poplatane w czasie to rekordy z unikatowa nazwa sie powtarzaja :|
Nawet uzywajac zapytan zagniezdzony GROUP BY z nalozonym warunkiem HAVING tez nic... Problem w tym ze GROUP BY zawsze wysietla mi najstarsze rekordy z dana nazwa, a jak uzyje maksymalnego dnia w zapytaniu to wyswietli rekordy z najwczesniejsza godzina.., a nie z terazniejsza ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Proponuje takie zapytnie:
Ale przyznaję, że nie do końca rozumiem strukturę Twojej tabeli... -------------------- Kto pyta, nie błądzi...
Kto zbłądził, ten pyta... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 18.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dziekuje JaRoPHP
![]() ![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:38 |