sql >> Databáze >  >> RDS >> Mysql

Nápověda MySQL:Jak najít všechny objednávky od zákazníka do ceny <=20 a status='nezaplaceno'

Téměř PŘESNĚ stejná otázka zodpovězena zde . Předpokladem je, že byste potřebovali další sloupec, který by fungoval jako průběžný součet pro daného zákazníka...

Vytvořil jsem tabulku a simuloval data přesně jako vaše výsledky a došel jsem k VAŠIM přesným výsledkům... Problém byl v tom, že MySQL nějak uplatňovalo kritéria DVAKRÁT na řádek a nechápal jsem, jak nebo proč... SILNĚ mám podezření, že jde o chybu, ale nejde to popsat. Každopádně MÁM opravu, která vynutí vnitřní "PreQuery" jako základ a vrátí VŠECHNY záznamy z toho s @SQLVars a poté z toho použije klauzuli WHERE...

select properSummed.*
   from 
      ( select
              o.orderid, 
              o.price, 
              @RunningTotal := @RunningTotal + o.price as UnpaidSoFar
           from
              orders o, 
              (select @RunningTotal := 0 ) sqlvars
           where o.ownerid = 1
             and o.paymentstatus = 'unpaid' ) properSummed
    where 
       properSummed.UnpaidSoFar <= 50


  1. Může LINQ-to-SQL při vkládání vynechat nespecifikované sloupce, aby se použila výchozí hodnota databáze?

  2. nelze spustit MySql v Mac OS 10.6 Snow Leopard

  3. Zabezpečení hesla MySQL při vývoji v Pythonu?

  4. Vnitřní spojení se 3 tabulkami v mysql