Autor Zpráva
slon_cz
Profil
Dobrý den, rád bych požádal o radu, mám v databázi

user_id | data_X | data_Y | data_Z | date | id
51        | 5         |         2 | 0          | date | id
51        | 5         |         2 | 0          | date | id
51        | 5         |         2 | 1          | date | id
51        | 5         |         2 | 1          | date | id
51        | 5         |         2 | 2          | date | id
51        | 5         |         2 | 2          | date | id
51        | 5         |         2 | 2          | date | id
51        | 5         |         2 | 1          | date | id
51        | 5         |         2 | 0          | date | id

A potřeboval bych nějakým způsobem vypsat všechny záznamy, které mají stejné user_id, ale vypsat takovým stylem, aby výsledek byl

0 - 2x | 1 - 2x | 2 - 3x | 1 - 1x | 0 - 1x

tedy vypsat řadu z data_Z, která bude podle seřazená podle date a kde u každé změny obsahu date_Z bude vypsán daný obsah a číslo, po kolika záznamech se obsah změnil. Vůbec mě ale nenapadá, jak to zprovoznit, proto budu rád za jakoukoliv radu, děkuji.
Kajman
Profil
Máte databázi podporující window funkce?
slon_cz
Profil
Bohužel ne. Co mě napadá by bylo část udělat skrze sql dotaz a zbytek v čistém php pro výpis? Co nejjednodušší způsob.
Kajman
Profil
Pokud nemůžete přejít např. na mariadb 10.2 nebo mysql 8, tak si jen vyzobněte z databáze všechna seřazená data uživatele a sčítejte v php, dokud se nezmění data_z.

Možná by to šlo přes uživatelské proměnné, ale na ně bych se nespoléhal.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0