我正在創建一個查詢,以獲得所有日期的商業。
我需要這樣的回報:
商業1-3 商業2--4 商業5--2 ...
但我需要從當前日期獲得這些日期。我正在做這個作業:
select count(id)
from cita
group by id_comercial
having date('created_at') =CURDATE()
如果我去掉這個條款,這個回傳錯誤,我需要從我的表中回傳所有的資料,但我需要通過當前日期過濾。
之后我需要在eloquent中轉換這個查詢。但是,首先我必須在mysql中做,并顯示結果。
我的表是:
CREATE TABLE `cita` (
`id` int(10) UNSIGNED NOT NULL,
`nomape` varchar(100) COLLATE utf8mb4_unicode_ci Not NULL,
`direccion` varchar(100) COLLATE utf8mb4_unicode_ci Not NULL,
`provincia` varchar(50) COLLATE utf8mb4_unicode_ci Not Null,
`ciudad` varchar(50) COLLATE utf8mb4_unicode_ci Not NULL,
`cp` char(5) COLLATE utf8mb4_unicode_ci Not NULL,
`telefono` varchar(12) COLLATE utf8mb4_unicode_ci Not NULL,
`movil` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`id_comercial` int(10) UNSIGNED DEFAULT NULL,
`id_comercial2` int(10) UNSIGNED DEFAULT NULL,
`id_llamada` int(10) UNSIGNED NOT NULL,
`id_estado` int(10) UNSIGNED Not NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `cita` (`id`, `nomape`, `direccion`, `provincia`, 縣","CP","電信","移動","id_comercial","id_comercial2","id_llamada","id_estado","created_at","updated_at") VALUES 1, 'ASENJO MARTIN JOSE RAFAEL'/span>, 'AV DE LA VEGA, 188', 'GRANADA', 'BELICENA', '18101', '958431322', NULL, 13, NULL, 617, 8, '2020-08-11 07: 53:30', '2021-08-25 13:01:21')。)
(2, 'MARTINEZ JIMENEZ MARIA LUISA', 'AVDA. ANDALUCIA, 3 BAJO F', 'JAéN', 'TORREPEROGIL', '23320', '953776094', NULL, 44, NULL, 318, 8, '2020-08-11 09。 20:55', '2021-08-24 15:41:03')。)
(3, 'MARIA VIUDA DE SALVADOR LARA HURTADO'/span>, 'CALLE SANTA MARIA, 69', 'JAéN', 'TORREPEROGIL', '23320', '953776876', NULL, 40, NULL, 578, 8, '2020-08-11 09: 25:33', '2021-08-24 15:41:03')。)
(4, 'MARTINEZ RUIZ EMILIO', 'CALLE OBISPO BASULTO, 97', 'JAéN', 'TORREPEROGIL', '23320', '953776072', NULL, 42, NULL, 403, 8, '2020-08-11 09: 29:02', '2021-08-24 15:41:03')。)
(5, 'PATON REDONDO FERNANDO', 'CALLE DOCTOR FLEMING, 24 SIN LETRA', 'JAéN', 'TORREPEROGIL', '23320', '953778119', NULL, 43, NULL, 438, 8, '2020-08-11 09: 32:16', '2021-08-24 15:41:03')。)
(6, 'VILLAR CRESPO JOSE'/span>, 'CALLE CERVANTES, 6 CASA', 'JAéN', 'TORREPEROGIL', '23320', '953776353', NULL, 37, NULL, 769, 8, '2020-08-11 09: 37:24', '2021-08-24 15:41:03')。)
(7, 'MEDINA GALLEGO CONCEPCION'/span>, 'TRVA OBISPO BASULTO, 16', 'JAéN', 'TORREPEROGIL', '23320', '953776523', NULL, 42, NULL, 404, 8, '2020-08-11 09: 46:53', '2021-08-24 15:41:03')。)
(8, 'BLANCO ANGUIS MARIA', 'CALLE MURILLO, 18 CASA', 'JAéN', 'TORREPEROGIL', '23320', '953777328', NULL, 44, NULL, 526, 8, '2020-08-11 09: 59:39', '2021-08-24 15:41:03')。)
(9, 'MEZGUA MARTINEZ MATILDE', 'B. P. IGLESIAS, 4 2 D', 'JAéN', 'TORREPEROGIL', '23320', '953778009', NULL, 37, NULL, 852, 8, '2020-08-11 10: 00:52', '2021-08-24 15:41:04')。)
(10, 'MARQUEZ MU?OZ ANTONIO BLAS,ROSARIO'/span>, 'CALLE REAL DE BELICENA, 9 CASA', 'GRANADA', 'BELICENA', '18101', '958432077', NULL, 35, NULL, 952, 8, '2020-08-11 10: 11:16', '2021-08-24 15:41:04')。)
(11, 'BLAZQUEZ DELGADO ANTONIO Y EVA'/span>, 'CALLE JUAN MANUEL SERRAT, 9 CASA', 'GRANADA', 'BELICENA', '18101', '958431493', NULL, 32, NULL, 692, 2, '2020-08-11 10: 13:31', '2020-08-11 13:10:49')。)
(12, 'ALANIS GARCIA ANTONIO', 'CALLE RAMóN Y CAJAL NUMERO 1', 'GRANADA'/span>, 'BELICENA'/span>, '18101'/span>, '958432049', NULL, 36, NULL, 723, 4, '2020-08-11 10: 16:47', '2020-08-11 10:33:23')。)
感謝您對我的幫助,如果我的問題不好,請原諒我的英語水平
。uj5u.com熱心網友回復:
having子句是在聚合后執行的。 而且你只有一列--計數,而不是創建。
你需要一個where子句:
select count(id)
from cita
where date(created_at) = CURDATE()
group by id_comercial;
還請注意,我洗掉了單引號。 我想這些是你寫問題時的一個轉錄錯誤。
另外,where子句可以更有效地寫成:
where created_at >= CURDATE() and
created_at < CURDATE() interval 1 day
這有助于優化器,因為在該列上沒有函式呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/333994.html
標籤:
