i dinamik bir sonucuMySQL hatası: sql_mode = only_full_group_by
SELECT
M.nom_utilisateur,
SUM(M.montant_bulletin) as Montant_Total_BS,
SUM(M.montant_payer ) as Montant_Total_payer,
COUNT(M.ref_bs) as nbr_bs_total,
(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur AND (M.nom_assurence = "Star" AND M.etat_bs = "Remboursé")) as nbr_bs_total_payer,
(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur AND (M.nom_assurence = "Star" AND M.etat_bs = "Non remboursé")) as nbr_bs_non_payer,
(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur AND (M.nom_assurence = "Star" AND M.etat_bs = "En cours")) as nbr_bs_en_cours,
(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur AND (M.nom_assurence = "Star" AND M.etat_bs = "Nouveau")) as nbr_bs_nouveau
FROM mutuelle_bi.`Mutuelle` M
WHERE M.nom_assurence = "Star"
GROUP BY M.nom_utilisateur
ama bir şey yanlış giderse için basit projeksiyon yapmak alışkınım bu senaryomuz var; ben bu hata var gibidir:
1055 - SEÇ listenin İfade 5. GROUP BY deyiminde değildir ve GROUP BY deyiminde sütunlarda işlevsel bağlı değildir nonaggregated sütun 'mutuelle_bi.M.etat_bs' içeriyor ; Bu i benim sql server herhangi yapılandırma dosyasını değiştirmek gerektiğini, verilen bu sorunu çözmek için bu arada benim programı değiştirebilir nasıl
only_full_group_by = sql_mode ile uyumsuz . ve sadece komut dosyalarını yazmalıyım
Herhangi bir öneri?
Alt sorgular yerine koşullu sayımı kullanmanız gerekir. – Shadow
Sadece mevcut oturum için değiştirilebilen "only_full_group_by" değerini tutmak isteyip istemediğinizi değil, tabii ki sahte sonuç kümelerini engellemeye yardımcı olan bir özelliktir. –
"ANY_VALUE()" işlevini, ayrıştırılmamış sütunda basitçe kullanabilirsiniz. Bakınız: http://stackoverflow.com/a/40578865/439171 –