ďťż
 
[sql]Grupowanie i max() ďťż
 
[sql]Grupowanie i max()
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[sql]Grupowanie i max()



wooz - 27-05-2006 00:39
[sql]Grupowanie i max()
  Jest sobie tabelka:

IDfirmy
IDZamowienia
DataZamowienia
Pole1
Pole2
Pole3
Pole4

Jak z takiej tabelki wyłuskać cały wiersz zawierający ostatnie(tzn z najmłodszą datą) zamówienie dla
każdej z firm ?

Select IDFirmy,max(DataZamowienia) from Tabelka group by IDFirmy

Wtedy dostanę tylko IDFirmy i DateZamowienia. Moge potem zrobic złaczenie z tą samą tabelka ale musiałby
łączyć po IDFirmy i DacieZamowienia. Z pewnych względów nie chce robic złączenia po dacie.





Przemyslaw Popielarski - 27-05-2006 00:39

  wooz <kamilch@o2.plSPAM> wrote:
> Jak z takiej tabelki wyłuskać cały wiersz zawierający ostatnie(tzn z
> najmłodszą datą) zamówienie dla każdej z firm ?

Np. tak:
http://dev.mysql.com/doc/refman/5.0/...group-row.html

--
../ premax
../ premax@hot,pl
../ koniec i bomba, a kto czytal ten traba. w.g.




Halibut - 27-05-2006 00:39

 
Użytkownik "wooz" <kamilch@o2.plSPAM> napisał w wiadomości
news:e56u4p$nbh$1@nemesis.news.tpi.pl...
>
> Jak z takiej tabelki wyłuskać cały wiersz zawierający ostatnie(tzn z
> najmłodszą datą) zamówienie dla każdej z firm ?
>
> Select IDFirmy,max(DataZamowienia) from Tabelka group by IDFirmy
>
> Wtedy dostanę tylko IDFirmy i DateZamowienia. Moge potem zrobic złaczenie
> z tą samą tabelka ale musiałby łączyć po IDFirmy i DacieZamowienia. Z
> pewnych względów nie chce robic złączenia po dacie.
>

Witam,
Nie wiem jaka baza, np. pod Oraclem można wykorzystać do tego celu funkcje
analityczne: dla każdej z firm wykonać ranking zamówień po dacie zamówienia
po czym wybrać wiersze o najwyższej pozycji w ramach firmy.

KM




SuperTen - 27-05-2006 00:39

  wooz napisał(a):
> Jest sobie tabelka:
>
> IDfirmy
> IDZamowienia
> DataZamowienia
> Pole1
> Pole2
> Pole3
> Pole4
>
> Jak z takiej tabelki wyłuskać cały wiersz zawierający ostatnie(tzn z
> najmłodszą datą) zamówienie dla każdej z firm ?
>
> Select IDFirmy,max(DataZamowienia) from Tabelka group by IDFirmy
>
> Wtedy dostanę tylko IDFirmy i DateZamowienia. Moge potem zrobic
> złaczenie z tą samą tabelka ale musiałby łączyć po IDFirmy i
> DacieZamowienia. Z pewnych względów nie chce robic złączenia po dacie.

Zawsze mozesz wyciągnać wszystkie firmy z zamówień SELECT DISTINCT
IDfirmy FROM tabela

a potem dla każdej wykonać

SELECT * FROM tabela WHERE IDfirmy=id_firmy ORDER BY DataZamowienia DESC
LIMIT 1

to dla MySQL

--
_________
/ , _ \ | Pozdrawiam. SuperTen. |
`. '|(_) .' | "...Codziennie gdy wstajesz, otrzymujesz |
`. .' | szansę, aby stać się lepszym..." |
`.' | ...@..%..+ $this->wyslij(); |
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= =?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • adwokat.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com