Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: lotto, sprawdzanie kuponów i wyszukiwanie liczb
Forum PHP.pl > Forum > Bazy danych > MySQL
Fixer
mam w bazie archiwalne wyniki totka zapisane w ten sposób:

  1. +----------+----------------+----+----+----+----+----+----+
  2. | id_wpisu | data_losowania | 1  | 2  | 3  | 4  | 5  | 6  |
  3. +----------+----------------+----+----+----+----+----+----+
  4. |        1 | 1957-01-27     |  8 | 12 | 31 | 39 | 43 | 45 |
  5. |        6 | 1957-03-03     | 24 | 26 | 31 | 35 | 43 | 47 |
  6. +----------+----------------+----+----+----+----+----+----+


Jak przeszukiwać bazę by znaleść wszystkie 3-ki, 4-ki, 5-tki skreślonych przezemnie wybranych 6 liczb??

kombinuje z takim czymś (ale niestety nie otrzymuję prawdziwych wyników):
  1. SELECT COUNT(id_wpisu)
  2. FROM `bazki`.`lotto_duzy_lotek` WHERE (
  3. `1` = '$par_a' OR `2` = '$par_a' OR `3` = '$par_a' OR `4` = '$par_a' OR `5` = '$par_a' OR `6` = '$par_a'
  4. ) AND (
  5. `1` = '$par_b' OR `2` = '$par_b' OR `3` = '$par_b' OR `4` = '$par_b' OR `5` = '$par_b' OR `6` = '$par_b'
  6. ) AND (
  7. `1` = '$par_c' OR `2` = '$par_c' OR `3` = '$par_c' OR `4` = '$par_c' OR `5` = '$par_c' OR `6` = '$par_c'
  8. ) AND (
  9. `1` = '$par_d' OR `2` = '$par_d' OR `3` = '$par_d' OR `4` = '$par_d' OR `5` = '$par_d' OR `6` = '$par_d'
  10. );


gdzie par_a do par_f to skreślone 6 liczb

Znacie jakis lepszy sposób na tego typu przeszukiwania?
blooregard
Mozna nieco skrócić to zapytanie z zastosowaniem WHERE ... IN zamiast LIKE
  1. WHERE 1 IN (par_a,par_b,par_c,par_d,par_e,par_f) OR 2 IN (par_a,par_b,par_c,par_d,par_e,par_f) OR ... itd
zegarek84
Blooregard MA RACJĘ, pozatym wygodniej będziesz miał jeśli zrobisz małe obliczenie na warunkach (true jako jeden itd.) i potem sprawdzisz pod WHERE czyli np tak:
  1. SELECT * , (('lotto'.'1' IN (1,3,5,6,7,8)) + ('lotto'.'2' IN (1,3,5,6,7,8)) + ('lotto'.'3' IN (1,3,5,6,7,8)) + ('lotto'.'4' IN (1,3,5,6,7,8)) + ('lotto'.'5' IN (1,3,5,6,7,8)) + ('lotto'.'6' IN (1,3,5,6,7,8))) AS ile FROM 'lotto' WHERE ile>=3 ORDER BY ile DESC

zamiast tych cyfererek podstaw sobie swoje wartości zmiennych/wylosowanych cyfr...
shine
to co podal zegarek84 powinnobyc bardziej wydajne ze wzgledu na to ze "OR" bardzo spowalnia zapytanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.