获取上个月,本月总计一个查询

卡夫森帝国

我正在尝试将两个查询合并为一个

我的资料:

CREATE TABLE `przychody` (
  `id_przychodu` bigint(20) NOT NULL,
  `id_rejonu` bigint(20) NOT NULL,
  `fk_kontrahent` bigint(20) NOT NULL,
  `dodal` bigint(20) NOT NULL,
  `wartosc` decimal(10,2) NOT NULL,
  `netto` decimal(10,2) NOT NULL,
  `numer` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `z_dnia` date NOT NULL,
  `dodano` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `uwagi` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `vat_lacznie` decimal(11,2) NOT NULL,
  `sprzedano` date NOT NULL,
  `termin_platnosci` date NOT NULL,
  `ilosc_dni` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `przychody` (`id_przychodu`, `id_rejonu`, `fk_kontrahent`, `dodal`, `wartosc`, `netto`, `numer`, `z_dnia`, `dodano`, `uwagi`, `vat_lacznie`, `sprzedano`, `termin_platnosci`, `ilosc_dni`) VALUES
(48, 1, 189, 3, '172.20', '140.00', '1/KOM/10/17', '2017-10-03', '2017-10-03 16:13:21', '', '32.20', '2017-10-03', '2017-11-02', 30),
(49, 1, 189, 3, '422.44', '422.44', '2/KOM/10/17', '2017-10-03', '2017-10-03 16:15:35', 'M', '0.00', '2017-10-03', '2017-11-02', 30),
(50, 3, 216, 3, '543.50', '441.87', '22/KOM/09/17', '2017-09-29', '2017-10-04 13:02:23', '', '101.63', '2017-09-29', '2017-10-18', 14),
(51, 1, 4, 3, '625.00', '625.00', '3/KOM/10/17', '2017-10-09', '2017-10-09 16:38:27', 'D 2', '0.00', '2017-10-09', '2017-11-08', 30),
(52, 3, 441, 3, '7700.00', '7700.00', '4/KOM/10/17', '2017-10-10', '2017-10-10 17:40:51', 'B17', '0.00', '2017-10-06', '2017-10-24', 14),
(53, 2, 189, 3, '553.50', '450.00', '5/KOM/10/17', '2017-10-11', '2017-10-11 17:42:50', 'BiCHER', '103.50', '2017-10-11', '2017-11-10', 30),
(54, 3, 3, 3, '3286.06', '2671.60', '6/KOM/10/17', '2017-10-17', '2017-10-17 10:50:16', 'Int', '614.46', '2017-10-17', '2017-11-16', 30),
(55, 3, 3, 3, '5388.50', '4380.90', '7/KOM/10/17', '2017-10-17', '2017-10-17 10:51:13', 'Inska', '1007.60', '2017-10-17', '2017-11-16', 30),
(56, 3, 3, 3, '1205.40', '980.00', '8/KOM/10/17', '2017-10-17', '2017-10-17 10:52:20', 'Insa', '225.40', '2017-10-17', '2017-11-16', 30),
(57, 3, 3, 3, '1033.20', '840.00', '9/KOM/10/17', '2017-10-17', '2017-10-17 10:53:10', 'Inka', '193.20', '2017-10-17', '2017-11-16', 30),
(58, 2, 437, 3, '64.80', '60.00', '10/KOM/10/17', '2017-10-17', '2017-10-17 13:29:00', 'Nume9', '4.80', '2017-10-17', '2017-11-16', 30),
(59, 2, 406, 3, '193.21', '178.90', '11/KOM/10/17', '2017-10-17', '2017-10-17 14:23:34', '', '14.31', '2017-10-17', '2017-11-16', 30),
(60, 3, 441, 3, '3575.00', '3575.00', '12/KOM/10/17', '2017-10-23', '2017-10-23 10:43:36', 'Wyk10.', '0.00', '2017-10-23', '2017-11-06', 14),
(61, 3, 4, 3, '2000.00', '2000.00', '13/KOM/10/17', '2017-10-24', '2017-10-24 15:32:23', 'Dot./16', '0.00', '2017-10-24', '2017-11-23', 30),
(62, 3, 147, 3, '8000.00', '8000.00', '14/KOM/10/17', '2017-10-24', '2017-10-24 18:29:19', 'Dota 16', '0.00', '2017-10-24', '2017-10-31', 7),
(63, 1, 189, 3, '1395.00', '1395.00', '15/KOM/10/17', '2017-10-25', '2017-10-25 13:43:50', 'Pio&M', '0.00', '2017-10-25', '2017-11-24', 30),
(64, 4, 590, 3, '775.43', '775.43', '18/KOM/08/17', '2017-08-31', '2017-10-27 12:55:31', '', '0.00', '2017-08-31', '2017-11-10', 14),
(65, 4, 590, 3, '775.43', '775.43', '23/KOM/09/17', '2017-09-29', '2017-10-27 12:56:40', '', '0.00', '2017-09-29', '2017-11-10', 14),
(66, 1, 442, 3, '282.93', '232.46', '16/KOM/10/17', '2017-10-31', '2017-10-31 12:27:55', 'Uw 6', '50.47', '2017-10-31', '2017-11-30', 30),
(68, 1, 189, 3, '399.75', '325.00', '17/KOM/10/17', '2017-10-31', '2017-10-31 12:37:26', 'Wrora', '74.75', '2017-10-31', '2017-11-30', 30),
(69, 1, 413, 3, '469.62', '434.84', '18/KOM/10/17', '2017-10-31', '2017-10-31 12:41:07', 'KsaC', '34.78', '2017-10-31', '2017-11-14', 14),
(70, 2, 111, 3, '368.87', '299.90', '19/KOM/10/17', '2017-10-31', '2017-10-31 12:46:50', '', '68.97', '2017-10-31', '2017-11-30', 30),
(71, 3, 441, 3, '2178.00', '2178.00', '1/KOM/11/17', '2017-11-02', '2017-11-02 15:37:04', '16.10-20.10.2017', '0.00', '2017-11-02', '2017-11-16', 14),
(72, 3, 441, 3, '8800.00', '8800.00', '2/KOM/11/17', '2017-11-02', '2017-11-02 15:40:11', '23.10 - 27.11.2017', '0.00', '2017-11-02', '2017-11-16', 14),
(73, 1, 413, 3, '218.19', '202.03', '20/KOM/10/17', '2017-10-31', '2017-11-06 15:55:48', 'Ksa10', '16.16', '2017-10-31', '2017-11-20', 14),
(74, 1, 132, 3, '870.47', '707.70', '21/KOM/10/17', '2017-10-31', '2017-11-06 16:22:05', '', '162.77', '2017-10-31', '2017-11-14', 14),
(75, 1, 608, 3, '413.28', '336.00', '22/KOM/10/17', '2017-10-31', '2017-11-07 13:11:58', 'Łód', '77.28', '2017-10-31', '2017-11-14', 14),
(77, 1, 146, 3, '49.20', '40.00', '23/KOM/10/17', '2017-10-31', '2017-11-07 13:26:42', 'Łź 4', '9.20', '2017-10-31', '2017-11-21', 14),
(78, 1, 590, 3, '775.43', '775.43', '24/KOM/10/17', '2017-10-31', '2017-11-07 13:31:24', '', '0.00', '2017-10-31', '2017-11-14', 14),
(79, 2, 111, 3, '2460.00', '2000.00', '25/KOM/10/17', '2017-10-31', '2017-11-07 13:39:09', '', '460.00', '2017-10-31', '2017-11-21', 14),
(81, 2, 323, 3, '3095.24', '2865.97', '26/KOM/10/17', '2017-10-31', '2017-11-07 13:41:32', '', '229.27', '2017-10-31', '2017-11-21', 14),
(82, 2, 323, 3, '1103.98', '1022.22', '27/KOM/10/17', '2017-10-31', '2017-11-07 13:54:51', '', '81.76', '2017-10-31', '2017-11-21', 14),
(83, 2, 216, 3, '2827.40', '2298.70', '28/KOM/10/17', '2017-11-07', '2017-11-07 14:16:09', '', '528.70', '2017-10-31', '2017-11-21', 14),
(84, 2, 216, 3, '4737.11', '3851.31', '29/KOM/10/17', '2017-11-07', '2017-11-07 14:18:23', '', '885.80', '2017-10-31', '2017-11-21', 14),
(85, 2, 216, 3, '1966.05', '1598.42', '30/KOM/10/17', '2017-11-07', '2017-11-07 14:36:30', '', '367.63', '2017-10-31', '2017-11-21', 14),
(86, 2, 189, 3, '615.00', '500.00', '3/KOM/11/17', '2017-11-08', '2017-11-08 10:56:24', 'Aer', '115.00', '2017-11-08', '2017-12-08', 30);

我的查询尝试,我不确定这是否是正确的尝试,如果您独立运行每个查询,结果似乎就不一样了。

   SELECT

  sum(przychody.netto) as last_month,
  sum(Query1.netto) AS this_month
FROM
  przychody,
  (SELECT
      *
    FROM
      przychody
    WHERE
      przychody.sprzedano >= Last_Day(CURRENT_DATE()) + INTERVAL 1 DAY - INTERVAL 2 MONTH AND
      przychody.sprzedano < Last_Day(CURRENT_DATE()) + INTERVAL 1 DAY - INTERVAL 1 MONTH

  ) Query1
WHERE
  przychody.sprzedano >= Last_Day(CURRENT_DATE()) + INTERVAL 1 DAY - INTERVAL 1 MONTH

SQLFiddle游乐场:http ://sqlfiddle.com/#!9/e18a49/1

首选输出

上个月| 当前_月SUM()| 和()

哈里德·朱奈德(M Khalid Junaid)

您可以通过使用获得单个查询当前和以前月份的总和casesum()

SELECT 
SUM( CASE WHEN sprzedano >= DATE_FORMAT(NOW() ,'%Y-%m-01') AND sprzedano <= LAST_DAY(NOW()) THEN netto ELSE 0 END) this_month,
SUM( CASE WHEN sprzedano >= DATE_FORMAT(NOW() - INTERVAL 1 MONTH ,'%Y-%m-01') AND sprzedano <= LAST_DAY(NOW() - INTERVAL 1 MONTH) THEN netto ELSE 0 END) last_month
FROM `przychody`

演示版

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查询以获取本月和上个月的销售额

获取上个月的第一个日期

获取上个月的第一个和最后一个日期

在JavaScript中获取上一个/上个月的最后一天

如何从yii2中的db获取上个月的最后一个条目?

使用javascript获取上个月的第一个日期

如何通过一个查询从最后一小时,最后一天和上个月获取数据?

在JQuery中获取上个月的第一个和最后一个日期

组成一个SQL查询,该查询按渠道产生每月收入以及上个月的收入

简单的SQL查询:需要将本月的数据和上个月的前5天的数据一起使用

在 Airflow 中使用 SqlSensor,创建一个查询,检查上个月的所有天数是否都在表中

获取上个月的所有记录,每位用户一个结果,每位用户最大列

查找上个月的第一个和最后一个日期

本月和上个月的SQL子查询出席率

获取上个月的记录

获取上个月的天数

在SQLite中使用datetime获取本月和上个月的值

如何使用查询获取上个月的数据?

查询以获取每月和上个月的用户数

在SQL查询中获取上个月的数据

按上个月至本月的前N个变化过滤

试图获得两个日期,上个月的 24 日和本月的 23 日

“上个月的第一个星期一” strtotime混乱

SQL-在同一表格中显示本月和上个月的销售额

在批处理文件中获取上个月的第一个日期和最后一个日期

上个月使用LocalDate的最后一个工作日

Mysql如何过滤上一个CALENDAR月(不是上个月)的结果

为上个月的总和引入一个新列

jQuery UI下一个上个月的事件