-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
Hayırlı günler diliyorum öncelikle herkese...
Biraz araştırdığım fakat sade & ideal yolunu henüz bulamadığım ve bilginize danışmak istediğim bir konuyu vaktinizi çok almadan kısaca açayım...
Çeşitli nedenler ile sorgumun sonrasında listelenen kayıtlar içerisinde tekrar eden değerler var.
1.sorum;
Tek sütun (product_category sütunu) içinden çekilen
ve
aynı olan değerlerin sadece 1 tanesini göstermek, diğerlerini yok saymak için sorguya nasıl bir ekleme yapmamız gerekir?
2.sorum;
Birden fazla sütun (product_category_1, product_category_2, product_category_3 sütunları) içinden çekilen
ve
(tek bir liste içinde gösterilen) aynı olan değerlerin sadece 1 tanesini göstermek, diğerlerini yok saymak için sorguya nasıl bir ekleme yapmamız gerekir?
SİZLERİN TERCİH ETTİĞİNİZ, ÖNEREBİLECEĞİNİZ YÖNTEMLER NELERDİR?
&
Bir de bunun tersi, yani tekrar eden kayıtları bulmamız gerekirse şu koddan daha iyi ve fonksiyonel olduğunu düşündüğünüz alternatifler var mıdır?
SELECT
product_id,
product_name,
product_category
count( * ) AS repeat
FROM products
GROUP BY product_category
HAVING repeat > 1 ;
Son olarak konu ile ilintili bir soru daha paylaşayım;
count( * ) => tüm sütunları mı sayar yoksa kendisinden bir önceki öğeyi mi sayar?
Tüm sütunları saymıyor ise saymak için ne yapmamız gerekir?
&
Bilgilendirebilirseniz sevinirim...
Teşekkür ederim...
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
-
Üyelik
29.03.2021
-
Yaş/Cinsiyet
31 / E
-
Meslek
yazılımcılık
-
Konum
İstanbul Avrupa
-
Ad Soyad
D** C**
-
Mesajlar
14
-
Beğeniler
0 / 7
-
Ticaret
0, (%0)
Aynı satırlar olmadan çekmek istiyorsan
select * from TABLO_ADI group by SÜTÜN_ADI
//sütün adına göre gruplayıp aynı sütündan fazlalıkları getirme dedik
Aynı satırları çekmek istiyorsan;
select *,count(SÜTÜN_ADI) as say from TABLO_ADI
group by SÜTÜN_ADI
having say>1
//sütün adına göre saydırıp, sütün adına göre gruplayıp aynı sütündan 1 den fazla olanları getir dedik
1 kişi bu mesajı beğendi.
-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
HardCoreDeveloper adlı üyeden alıntı
Aynı satırlar olmadan çekmek istiyorsan
select * from TABLO_ADI group by SÜTÜN_ADI
//sütün adına göre gruplayıp aynı sütündan fazlalıkları getirme dedik
Aynı satırları çekmek istiyorsan;
select *,count(SÜTÜN_ADI) as say from TABLO_ADI
group by SÜTÜN_ADI
having say>1
//sütün adına göre saydırıp, sütün adına göre gruplayıp aynı sütündan 1 den fazla olanları getir dedik
HardCoreDeveloper Üstadım yanıtınız için teşekkür ederim.
Ancak odaklanabildim ve maalesef benim sorgumda bir farklılık olmadı.
Mevcut sorgu 10 ayrı kategori sütunundan veri çekiyor ve daha önce yazdığım group bye ifadesi ile aynı sizin yazdığınız.
Başka bir dokunuş yapılması gerekiyor...
Gene de teşekkürler...
$sorgu = $connn->prepare(" SELECT * FROM table_products_names
GROUP BY
product_cat1,
product_cat2,
product_cat3,
product_cat4,
product_cat5,
product_cat6,
product_cat7,
product_cat8,
product_cat9,
product_cat10
");
$sorgu->execute();
Select DISTINC konusunu araştırıyorum şu an...
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.