SQL-запрос, чтобы получить данные за месяц в одном запросе - PullRequest
0 голосов
/ 08 ноября 2019

Мне нужно знать, как я могу получать данные из базы данных по месяцам, используя один запрос. На данный момент я получаю данные внутри цикла, который завершился 12 запросами, что вызвало проблему со скоростью. В основном мне это нужно для графика. То, что я делаю, это получаю месяцы в году и зацикливаю все месяцы. Внутри этого цикла я помещаю следующий запрос

Вот запрос, который я использую. Я сохраняю метку времени для даты.

SELECT SUM(value) AS sale
    , COUNT(id) as tot 
  FROM tablename 
 WHERE 1 
   AND ud = 451
   AND oreatedTime BETWEEN 1514782800 AND 1517461199 
   AND uaaZc = "0082844000224"`

1 Ответ

3 голосов
/ 08 ноября 2019

Вы можете попробовать ниже -

SELECT year(FROM_UNIXTIME(oreatedTime)) as yr,MONTH(FROM_UNIXTIME(oreatedTime)) as mon,SUM(value) AS sale, COUNT(id) as tot 
FROM tablename WHERE 1 AND ud="451" AND 
oreatedTime BETWEEN 1514782800 AND 1517461199 AND uaaZc = "0082844000224"
group by year(FROM_UNIXTIME(oreatedTime)),MONTH(FROM_UNIXTIME(oreatedTime))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...