Bonjour,
Depuis j'ai un soucis avec mysql je n'arrive pas à faire des requetes groupées sur une table
Voici la structure de ma table
CREATE TABLE `colis` (
`id` int(11) NOT NULL,
`frais` int(11) NOT NULL,
`nom_expediteur` varchar(255) NOT NULL,
`telephone_expediteur` varchar(255) NOT NULL,
`nom_destinataire` varchar(255) NOT NULL,
`telephone_destinataire` varchar(255) NOT NULL,
`valeur` int(11) NOT NULL,
`nature` text NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified` datetime DEFAULT NULL,
`etat` int(11) DEFAULT '1',
`user_id` int(11) NOT NULL,
`agence_id` int(11) NOT NULL,
`agence_id1` int(11) NOT NULL,
`code_colis` varchar(255) DEFAULT NULL,
`residence_expediteur` varchar(100) DEFAULT NULL,
`slug` varchar(500) DEFAULT NULL,
`nom_autre_destinataire` varchar(255) DEFAULT NULL,
`prenom_autre_destinataire` varchar(255) DEFAULT NULL,
`numero_autre_destinataire` varchar(255) DEFAULT NULL,
`phone_autre_destinataire` varchar(255) DEFAULT NULL,
`date_retrait` datetime DEFAULT NULL,
`lieu_payement` varchar(100) DEFAULT NULL,
`type_payement` varchar(100) DEFAULT NULL,
`provenance` varchar(100) DEFAULT 'online',
`numero_facture` int(11) DEFAULT NULL,
`passage` int(11) DEFAULT NULL,
`cloture_caisse` int(11) DEFAULT '0',
`idsession` varchar(100) DEFAULT NULL,
`date_reception` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`agent_retrait` int(11) DEFAULT '0',
`sync` int(11) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `agences` (
`id` int(11) NOT NULL,
`nom_agence` varchar(255) NOT NULL,
`ville` varchar(255) NOT NULL,
`localisation` varchar(255) NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified` datetime DEFAULT NULL,
`etat` int(11) NOT NULL DEFAULT '1',
`entreprise_id` int(11) NOT NULL,
`phone` varchar(255) DEFAULT NULL,
`sync` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
voici le code SQL que je fais
$colis = $this->Colis->find()->select(['frais', 'code_colis','nature','telephone_expediteur','Colis.created','Colis.slug','nom_expediteur','nom_destinataire','Colis.etat','type_payement'])->distinct(['code_colis'])->contain(['Agences']);
$colis = $this->paginate($colis);
je veux la liste groupé par code colis par agence
Error: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'mybd.Colis.frais' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by