v2.5.2
Giriş yap

Mysql kayıtları 1 kere saydırmak

mb
429 defa görüntülendi

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.

mb
963 gün önce

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.