1) přes select se klasicky načte tabulka users
2) je ale nutné seřadit výsledky tak, aby se sečetly všechny hodnoty v tabulce data ve sloupci value u každého uživatele a porovnalo je s daty vlastního uživatele (udělalo rozdíl mezi hodnotami) a seřadilo se to od nejmenší.
Tudíž budeme mít dva řádky (nebudeme načítat samozřejmě vlastní id):
s user id 2 máme rozdíly: 4, 4, 7, tedy dohromady 15
s user id 3 máme rozdíly: 4, 0, 3, tedy dohromady 7
Tudíž první řádek bude id 3 a pak 2. A do něčeho by to mělo vypsat i tu spočítanou hodnotu.
Pokud chybí data v tabulce s vlastními údaji nebo ostatními údaji, měl by být rozdíl 0.
A mělo by to umět filtrovat jen třeba podle věku (rozmezí) v tabulce users ...
A aby to vrátilo jen ty výsledky, kde je rozdíl menší než třeba 10 ...
Tuším, že to půjde přes JOIN, ale vůbec mi to nejde spatlat. Pomůžete pls?
Příklad, naše id_user je 1.
Tabulka data
- Kód: Vybrat vše
----------------------------------
| id | id_user | value |
----------------------------------
| 1 | 1 | 7 |
----------------------------------
| 2 | 1 | 4 |
----------------------------------
| 3 | 1 | 2 |
----------------------------------
| 4 | 2 | 3 |
----------------------------------
| 5 | 2 | 8 |
----------------------------------
| 6 | 2 | 9 |
----------------------------------
| 7 | 3 | 3 |
----------------------------------
| 8 | 3 | 4 |
----------------------------------
| 9 | 3 | 5 |
----------------------------------
Tabulka users
- Kód: Vybrat vše
-----------------------------
| id | user | age |
-----------------------------
| 1 | asvba | 24 |
-----------------------------
| 2 | Fasdf | 35 |
-----------------------------
| 3 | Csfew | 42 |
-----------------------------