Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> trudne zapytanie do sql
pbanasiak
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

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


mam tabelę o dwóch polach - userid i time
wpisy dla userid mogą się dublować, czyli dla tego samego userid może być kilka wartości time
i potrzebuję wyciągnąć userid dla którego time jest najmniejszy ze wszystich nawiększych poplątałem więc dam przykład:
mam takie wpisy
userid time
1 4554121215
2 5454242242
1 4542424242
1 4543543543
3 5435434354
3 4354354548
wyciągam największe time dla każdego userid:
1 4554121215
2 5454242242
3 5435434354
i teraz potrzebuję wyciągnąc userid w kolejności gdzie time jest najmnijeszy czyli:
1
3
2


da się to zrobić w jednym zapytaniu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pbanasiak
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

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


nospor:

MySQL zwrócił komunikat:

#1054 - Unknown column 'maxtime' in 'having clause'

SongoQ:

MySQL zwrócił komunikat:

#1054 - Unknown column 'time' in 'having clause'


to może inaczej:
tabela w pełni wygląda tak:

  1. id bigint(20) Nie AUTO_INCREMENT
  2. url text Tak NULL
  3. userid bigint(20) Tak NULL
  4. active int(1) Tak NULL
  5. approved int(1) Tak NULL
  6. odslon bigint(20) Tak NULL
  7. time bigint(20) Tak NULL
  8. admin int(1) Nie 0

aktualnie zapytanie wyglda tak:
  1. $result = mysql_query("SELECT `uslugi_autosurf_strony`.`id`, `uslugi_autosurf_strony`.`userid`, `uslugi_autosurf_strony`.`url`, `uslugi_autosurf_credits`.`credit`
  2. FROM `uslugi_autosurf_strony`, `uslugi_autosurf_credits` WHERE `uslugi_autosurf_strony`.`userid` = `uslugi_autosurf_credits`.`userid` AND `uslugi_autosurf_strony`.`admin` = 0 AND `uslugi_autosurf_strony`.`approved` = 1 AND `uslugi_autosurf_strony`.`active` = 1 AND `uslugi_autosurf_credits`.`credit` >= 1 AND `uslugi_autosurf_strony`.`userid` != $_SESSION[userid] order by `uslugi_autosurf_strony`.`time`");
  3. while($rezul = mysql_fetch_array($result)) {
  4. $rezul2 = mysql_fetch_array(mysql_query("SELECT count(*)
  5. FROM `uslugi_autosurf_strony_rezerwacja` WHERE `userid` = $rezul[userid]"));
  6. IF($rezul["credit"]-$rezul2[0] < 1) continue;
  7. //tutaj wyświetlenie strony
  8. exit;
  9. }

jest to kod do skryptu autosurfu i problem w tym, że jak ktoś doda 10 stron a ktoś tylko 1 to ten z 10 otzrymuje odsłony 10 razy częściej i osoby, które mają po kilkadziesiąt stron zapychają ten autosurf i chodzi mi teraz jak to zmodyfikować aby kązdy otzrymywał tyle samo odsłon bez względu na to ile ma stron

i dobrze by było gdyby dwa zapytania które podałem powyżej połączyć w jedno
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: 10.10.2025 - 03:06