Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Warunek Where
Forum PHP.pl > Forum > Bazy danych > MySQL
Gaw
Witam, mam takie zapytanie:

  1. SELECT products.products_id, products.products_quantity+sum(ifnull(products_attributes.attributes_stock,0)) AS suma FROM products LEFT JOIN products_attributes ON products.products_id=products_attributes.products_id WHERE suma>0 GROUP BY products.products_id ORDER BY rand() DESC


suma to oczywiscie zsumowane dwie kolumny - to dziala dobrze, tylko jak ograniczyc wyniki wg. okreslonej sumy?
teraz MySQL wywala blad "unknow column"
Kildyt
czy chodzi Ci może o "LIMIT liczba wyświetlonych rekordów"?
nevt
  1. SELECT products.products_id, products.products_quantity + IFNULL(products_attributes.attributes_stock, 0) AS suma FROM products LEFT JOIN products_attributes ON products.products_id=products_attributes.products_id GROUP BY products.products_id HAVING suma > 0 ORDER BY RAND() DESC;

powodzenia.
Gaw
Cytat(nevt @ 10.09.2008, 16:38:31 ) *
powodzenia


za duze obciazenie jest przez rand()?

dodalem HAVING i dziala tak jak nalezy

  1. SELECT products.products_price, products.products_id, products.products_quantity+sum(ifnull(products_attributes.attributes_stock,0)) suma FROM products LEFT JOIN products_attributes ON products.products_id=products_attributes.products_id WHERE products.products_price > 50 AND products.products_status ='1' GROUP BY products.products_id HAVING `suma`>10 ORDER BY rand() DESC


znacie moze prostszy sposob jak wybrac jeden losowy rekord z bazy?
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.