Mysql kayıtları 1 kere saydırmak
Merhabalar,
Başvuru aldığım bir form var ve bu katılımcıların bilgilerine ulaşmak istiyorum.
Ama her katılımcıyı bir kere saydırmak istiyorum. Bunun için de bayikodunu baz
alarak yapıyorum. Aşağıdaki sorgu
SELECT DISTINCT `bayikodu` FROM katilimcilar ORDER BY `bayikodu`
Kayıt oldukları tabloda adı, soyadı, telefon, bayikodu bilgileri yer alıyor.
Sorguyu çalıştırdığım da bana sadece bayikodu bilgisini veriyor. Benim istediğim
bayikodunu baz alarak başvuruları saysın ama ben o kişilerin diğer bilgilerini
de görebiliyim.
Sorguya bayikodu, adi, soyadı gibi tüm verileri ekleyerek sorgulamak istemiyorum.
Çünkü bayikodunu doğru yazsa bile adı ve soyadı gibi bilgileri farklı yazdığında
bu sefer farklı bir kişi olarak algıladığı için tekrardan sayıyor.
Bunun için nasıl bir sorgu yazabilirim.
Sorun Mysql deki ayarlardan kaynaklanıyormuş. ONLY_FULL_GROUP_BY devre dışı bırakmak gerekiyormuş.
https://stackoverflow.com/questions/41887460/select-list-is-not-in-group-by-clause-and-contains-nonaggregated-column-inc
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Sorgulama kodu olarak da aşağıdaki kodu kullandığımda işimi gördü.
SELECT * FROM katilimcilar GROUP BY `bayikodu` ORDER BY `bayikodu` ASC
Teşekkürler.