Autor | Zpráva | ||
---|---|---|---|
Izolex Profil |
#1 · Zasláno: 30. 4. 2013, 09:09:53
Na webu mám výpis "TOP" fotek. Jsou to fotky řazené podle počtu lajků, které jsou zapsané v jiné tabulce. Vybírám je tímto dotazem:
SELECT a.id FROM dev_photos a LEFT JOIN dev_likes c ON c.photo=a.id GROUP BY a.id ORDER BY COUNT(c.photo) DESC Při prohlížení fotek mám tlačítko na další a předchozí fotku, potřeboval bych poradit, jak zjistit jaké ID má další a předchozí fotka, podle řazení lajků, od určitého ID. Zjednodušeně prohlížím fotku s ID 100, která má 50 lajků a já potřebuju zjistit, jaké ID má další a předchozí fotka v pořadí. Hledal jsem, ale zatím jsem nenašel a ani nepřišel na řešení.. Předem děkuji za všechny rady! |
||
Tori Profil |
#2 · Zasláno: 30. 4. 2013, 09:49:45
|
||
Kajman Profil |
Izolex:
„prohlížím fotku s ID 100, která má 50 lajků a já potřebuju zjistit, jaké ID má další a předchozí fotka“ Kdyby ty lajky byly předpočítány, tak by to šlo podle toho faq. Bez toho to asi půjde, ale svižné to nebude. SELECT a.id FROM dev_photos a LEFT JOIN dev_likes c ON c.photo = a.id GROUP BY a.id HAVING ( Count(c.photo), a.id ) > ( 50, 100 ) ORDER BY Count(c.photo) ASC, a.id ASC LIMIT 1 SELECT a.id FROM dev_photos a LEFT JOIN dev_likes c ON c.photo = a.id GROUP BY a.id HAVING ( Count(c.photo), a.id ) < ( 50, 100 ) ORDER BY Count(c.photo) DESC, a.id DESC LIMIT 1 |
||
Izolex Profil |
#4 · Zasláno: 30. 4. 2013, 13:46:32
Super, funguje to přesně jak má :) Díky moc!
|
||
Časová prodleva: 11 let
|
0