我有两个数据库查询,希望将它们作为一个查询

btxsgosb  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(259)

我有以下问题:我有两个数据库查询,并希望将它们作为一个。

SELECT SUM(verguetung_lead) FROM einkaeufe WHERE bearbeitet_wann >= '$zaehl_heute_von' AND bearbeitet_wann <= '$zaehl_heute_bis'
SELECT SUM(verguetung_lead) FROM einkaeufe WHERE bearbeitet_wann >= '$zaehl_gestern_von' AND bearbeitet_wann <= '$zaehl_gestern_bis'

einkaeufe ```
bearbeitet_wann | verguetung_lead
----------------+----------------
1536937398 | 99.00
1536803939 | 10.00

SELECT
SUM(if(bearbeitet_wann >= '1536962460',bearbeitet_wann <= '1537048740',verguetung_lead)) AS einkaeufe_verguetet_heute_daten,
SUM(if(bearbeitet_wann >= '1536876060',bearbeitet_wann <= '1536962340',verguetung_lead)) AS einkaeufe_verguetet_gestern_daten,
SUM(if(bearbeitet_wann >= '1536444060',bearbeitet_wann <= '1537135140',verguetung_lead)) AS einkaeufe_verguetet_woche_daten
FROM einkaeufe

输出

[einkaeufe_verguetet_heute_daten] => 109.00 [einkaeufe_verguetet_gestern_daten] => 11.00 [einkaeufe_verguetet_woche_daten] => 2.00 )

一线时间 `2018-09-14T15:03:18+00:00` 第二线时间 `2018-09-13T01:58:59+00:00` 不知怎么的,数字不对
q5lcpyga

q5lcpyga1#

$datetime_start = date("Y-m-d");
SELECT
SUM(if(lastupdate between Like '%".$datetime_start."%',verguetung, 0)) AS einkaeufe_verguetet_heute_daten,
FROM einkaeufe

应该只从今天开始更新负载

yyhrrdl8

yyhrrdl82#

你没有使用 IF 正确地说,第二个参数是“value if true”,第三个参数是“value if false”(参见手册)。你也可以简化你的工作 SELECT 通过使用 BETWEEN . 试试这个:

SELECT
SUM(if(bearbeitet_wann between 1536962460 and 1537048740,verguetung_lead, 0)) AS einkaeufe_verguetet_heute_daten,
SUM(if(bearbeitet_wann between 1536876060 and 1536962340,verguetung_lead, 0)) AS einkaeufe_verguetet_gestern_daten,
SUM(if(bearbeitet_wann between 1536444060 and 1537135140,verguetung_lead, 0)) AS einkaeufe_verguetet_woche_daten
FROM einkaeufe

输出:

einkaeufe_verguetet_heute_daten     einkaeufe_verguetet_gestern_daten   einkaeufe_verguetet_woche_daten
0,00                                99,00                               109,00

相关问题