360° fotografie pro Váš Eshop z Vaší vlastní fotokomory. Ušetřete, foťte a upravujte 360° obrázky IN-HOUSE
Zobrazují se odpovědi 1 až 2 z 2

Počet hodnot v sloupci splňující podmínku + poddotaz

  1. Mám základní dotaz

    Kód:
    SELECT  DISTINCTROW seller_id, product_id, price, timestamp, seller_name, product  FROM product
    RIGHT JOIN sellerlist USING (seller_id)
    JOIN source USING (product_id)
    Rád bych přidal podmínku
    Kód:
    WHERE price<(SELECT price FROM product WHERE seller_id='5126' LIMIT 1)
    Ta mi funguje, když tam nejsou ty JOIN, ale pakliže slučuju tabulky, tak se prostě vypíše všechno bez ohledu na podmínku...

    Dále bych chtěl zjistit, kolik je produktů (product_id)v době scrapování (timestamp). Když tam dám COUNT(product_id), tak se mi vypíše jen jeden řádek.

    Jak bych to měl formulovat, aby mi platila podmínka a vypsal se i počet těch prodejců?

  2. Co se právě děje na Webtrhu?
  3. není možné, aby se vypsalo všechno bez ohledu na podmínku, takhle to nefunguje :). Pravděpodobně se ti tam vypíšou i řádky, které mají price null, stačí přepsat podmínku nějak takhle:
    Kód:
    WHERE price is not null and price<(SELECT price FROM product WHERE seller_id='5126' LIMIT 1)
    Té druhé části moc nerozumím, radit s sql dotazem aniž bys poskytl schéma databáze je složité, stejně tak je složité, když máš nějaké názvy sloupců, ale v popisu používáš svůj překlad. Pravděpodobně tam stačí dát group by:

    Kód:
    WHERE ...
    GROUP BY timestamp
    To ale nejspíš nebude co chceš, píšeš, že chceš "počet produktů v době scrapování", v dalším odstavci zase mluvíš o prodejcích, mimochodem. Chceš tedy počet produktů, které mají starší timestamp než ten na konkrétním řádku? To bude ale výrazně náročný dotaz na relační databázi. Mělo by stačit něco takového:

    Kód:
    select p.timestamp, (select count(product.product_id) FROM product where product.timestamp <= p.timestamp) as "pocet_produktu"
    FROM product p
    To ale zase nevím, k čemu potřebuješ. Můžeš lépe upřesnit cože chceš s tím dělat? :)

Hostujeme u Server powered by TELE3