Autor | Zpráva | ||
---|---|---|---|
MilanJ Profil |
#1 · Zasláno: 3. 4. 2006, 23:24:22
Existuje funkce, která zjistí největší/nejmenší rozdíl mezi hodnotami jednoho pole db?
Např. mám políčko db, které obsahuje hodnoty: 15, 25, 45, 60, 110, 30, 40 a já potřebuji zjistit, jaký je největší rozdíl mezi hodnotami. Vyřeší to SQL dotaz nebo musím napsat f-ci v PHP? |
||
Oswald Profil |
#2 · Zasláno: 4. 4. 2006, 01:39:55
Pokud to dobře chápu, tak takhle:
SELECT MAX( `id`) - MIN( `id` ) AS `rozdil` FROM `table` |
||
MilanJ Profil |
#3 · Zasláno: 4. 4. 2006, 08:06:04
Asi jsem to nensapsal úplně srozumitelně.
Mě jde o to, zjistit největší rozdíl, mezi jednotlivými hodnotami, které jdou po sobě. Pokud tedy mám pořadí údajů v poli tak jak je napsáno, pak největší rozdíl je mezi čísly 110 a 30, tj. 80. Asi to bude lepší vyřešit pomocí PHP, mě jen napadlo, že by mohla být v SQL funkce, která by to zvládla taky. |
||
Tomik Profil |
#4 · Zasláno: 4. 4. 2006, 08:27:10
MilanJ
Ano, vždyť to napsla Oswald dobře, akorát místo id (jmenuje-li se te sloupec jinak), háš název sloupce s uloženými hodnotami. |
||
Kajman_ Profil * |
#5 · Zasláno: 4. 4. 2006, 09:56:43
Za určitých okolností by to mělo jít přes sql, kdy se slinkuje tabulka se sama sebou, tak aby se ke každému řádku přilinkoval odpovídající řádek o jeden stupínek výš. Pochybuji, že je to však rešitelné obecně (v paměti), protože temporary tabulka, která by zařídila správné seřazení a bezmezerové číslování se nemůže linkovat sama se sebou.
MilanJ OT: to by mě zajímalo, kolik procent z té vaší aukční super aplikace napíšete sám a kolik čtenáři téhle diskuse |
||
MilanJ Profil |
#6 · Zasláno: 4. 4. 2006, 10:58:00
Tomik
Oswaldův SELECT... vybere jen rozdíl mezi maximem a minimem. Kajman_ Vyřešil jsem to až v PHP. to by mě zajímalo, kolik procent z té vaší aukční super aplikace napíšete sám a kolik čtenáři téhle diskuse To je tak...spousta věcí, a dost možná většina, je pro mě nová, a i když čtu manuály a reference, narazím často na věci, který bych sám vyřešil za dlouhou dobu studování, pokusů a omylů. Myslím, že tahle, a nejen tahle, diskuze je o tom, jak vyřešit konkrétní problém, kteří už ostatní vyřešili a za problém to nepovažují.:-) Ano jistě...někdy se stačí pořádně podívat do manuálu, jindy to tak jednoduché není. Než se člověku dostano nové věci a postupy pod kůži chvíli to trvá. Snad mé otázky pomohou i jiným... |
||
MilanJ Profil |
#7 · Zasláno: 4. 4. 2006, 11:09:49
Kajman_
Jestli má aplikace bude super nevím, doufám, každopádně je co zlepčovat.:-) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0