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

многомерен масив заявка mysql

В основата си това изглежда като проблем с база данни.

Задайте колоната с проценти като NOT NULL и задайте 0 като DEFAULT.

ALTER TABLE promotions CHANGE COLUMN percent [maintain-its-type] NOT NULL DEFAULT '0';

След това става въпрос за (ако разбирам проблема) извличане на процентните стойности MAX() и MIN() за всяка дата.

SELECT s.date, s.rate, MAX(p.percent) AS maxperc, MIN(p.percent) AS minperc
    FROM stock s
    LEFT JOIN promotions p ON s.date = p.date
    WHERE s.date BETWEEN '2017-01-29' AND '2017-01-31'
    GROUP BY s.date,s.rate;

...не съм го тествал, така че може да се наложи малко работа.

След това, докато преминавате през набора от резултати, можете да декларирате двата отделни подмасива и да изградите своя пълен масив.

$array=[];
$i=0;
while($row=mysqli_fetch_assoc($result)){
    $array[0][$i]["date"]=$row["date"];
    $array[0][$i]["rate"]=$row["rate"];
    $array[0][$i]["perc"]=$row["minperc"];
    $array[1][$i]["date"]=$row["date"];
    $array[1][$i]["rate"]=$row["rate"];
    $array[1][$i]["perc"]=$row["maxperc"];
    ++$i;
}

До този момент направих твърде много предположения за вашата цел/използване. По принцип задайте нула като процент по подразбиране, потърсете най-висок и най-нисък процент за всяка двойка дата-скорост (ако е нула, тогава нула ще се появи като най-висок и най-нисък стойност). Направете каквото искате с набора от резултати.




  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. Грешка #2002 Не мога да се свържа с локален MySQL сървър чрез сокет '/Applications/MAMP/tmp/mysql/mysql.sock' (2)

  3. вземете изображение тип mime

  4. DISTINCT ON в django

  5. MySql Last Insert ID, Connector .net