Mysql
 sql >> база данни >  >> RDS >> Mysql

Помощ за MySQL:Как да намерите всички поръчки от клиент до цена <=20 и status='unpaid'

Почти ТОЧНО на същия въпрос е отговорено тук . Предпоставката е, че ще ви е необходима друга колона, която да действа като текуща сума за въпросния клиент...

Създадох таблица и симулирах данни точно като вашите резултати и излязох с ВАШИТЕ точни резултати... Проблемът беше някак си MySQL прилагаше критериите ДВА пъти на ред и не разбираше как и защо... СИЛНО подозирам, че е грешка, но не мога да го опиша. Както и да е, имам корекция, която принуждава вътрешна "PreQuery" като основа и връща ВСИЧКИ записи от това с @SQLVars и след това прилагам клауза 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Подреждане преди групиране по

  2. текуща средна стойност в mysql

  3. Множество външни ключа в една и съща таблица

  4. Как да вмъкна/създам съхранени процедури в mySQL от PHP?

  5. Как да видите напредъка на качването на .csv в MySQL