Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
MySQL

[ROZWIĄZANE] Zapytanie zwracające jeden rekord/wynik

MySQL

  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 29.10.2011 03:09

Załóżmy, że mam bazę danych, a w niej jest 5 różnych wyrazów, które powtarzają się 5 razy. Jak powinno wyglądać zapytanie, aby wyrazy te, zostały zwrócone po jednym razie?
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#2 Gh0st

    :)

  • Power User

Reputacja: 846
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 29.10.2011 06:24

Nie wiem czy o to ci chodziło ale poniższe zapytanie wybierze kolumna='wartosc' i zatrzyma po znalezieniu jednego wyniku. Czyli zwróci 1.
LIMIT 0, 1
Można też użyć segregacji ale jej w poniższym zapytaniu nie użyje
order by `kolumna` DESC
DESC - 9-1
ASC - 1-9
Myślę że zrozumiałeś oco chodzi z tą segregacją.

a tutaj zapytanie
SELECT * FROM `tabela` where `kolumna`='szukana_fraza' LIMIT 0, 1

  • +
  • -
  • 0

#3 sebul

    Godlike

  • Autor tematu
  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 29.10.2011 09:11

No akurat nie o to mi chodzi, bo to zwróci tylko 1 wyraz, a nie każdy po jednym razie.
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#4 Gh0st

    :)

  • Power User

Reputacja: 846
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 29.10.2011 09:19

no to :

$sql = "SELECT * from `tabela` where `kolumna`='wartosc'";
$query = mysql_query($sql);
while($wy = mysql_fetch_array($query)){
echo $wy['kolumna'];
}

Będzie pobierało dane dotąd aż kolumna !== wartosc

Użytkownik Gh0st edytował ten post 29.10.2011 09:20

  • +
  • -
  • 0

#5 sebul

    Godlike

  • Autor tematu
  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 29.10.2011 10:01

Ale z tego co wiem, te zapytanie wywoła 5 razy dany wyraz z tabeli, a mi chodzi o to, żeby z jakiejś tam tabeli, w której jest pięć wyrazów napisanych po 5 razy (czyli łącznie mamy 25 wyrazów) zwróciło jeden wyraz tylko 1 raz.

W sumie to można to napisać jeszcze inaczej, po prostu jest pięć takich samych wyrazów w tabeli i jak powinno wyglądać zapytanie, które zwrócić tylko jeden wyraz? Choć tutaj można by użyć "LIMIT"... No już łatwiej jak na początku, tego raczej nie wytłumaczę.

$sql = mysql_query("SELECT `nick` FROM `$dbtable` WHERE `klasa`='1'");
Tak wygląda dotychczasowe zapytanie, ale zrobiłem coś takiego, że nie przy każdym nicku jest klasa 1, więc jak mogę osiągnąć to samo zmieniają zapytanie?

Użytkownik sebul edytował ten post 29.10.2011 10:05

  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 29.10.2011 14:09

DISTINCT
$sql = mysql_query("SELECT DISTINCT `nick` FROM `$dbtable` WHERE `klasa`='1'");

  • +
  • -
  • 1

#7 sebul

    Godlike

  • Autor tematu
  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 29.10.2011 14:19

Dałem
$sql = mysql_query("SELECT DISTINCT `nick` FROM `$dbtable`");

Można zamknąć.
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#8 Onyke

    Godlike

  • Przyjaciel

Reputacja: 705
Guru

  • Postów:2178
Offline

Napisano 29.10.2011 14:35

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: MySQL

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych