2016-03-28 24 views
1

ardından GROUP BY sorgusu olacağını şöyle maaşlar ve sadece isimlere göre gruplandırılmış tüm maaşlara bakmak gerekir, o zaman ne sorgu veya yaklaşım olacak?MySQL Grubu spesifik durum için sorgu tarafından

+1

()' –

+1

Neden göre gruplandırılmış 'tarafından düzenlenen' karşı? – Strawberry

+0

@Paul group_concat, aradığım şeydi ancak JPA sorgusunda group_concat çalışmıyor. Group_concat için JPA sorgusunda ne yapabilirim? –

cevap

0

İstenilen sonuçları almak için GROUP BY clause kullanmayı deneyin. Göstermek istediğiniz hangi maaş bağlıdır

SELECT NAME,SALARY FROM CUSTOMERS GROUP BY NAME; 
1

..

Seçenek 1 -> Maksimum:

SELECT NAME, max(SALARY) FROM CUSTOMERS GROUP BY NAME; 

Seçenek 2 -> Minimum:

SELECT NAME, min(SALARY) FROM CUSTOMERS GROUP BY NAME; 

Seçenek 3 -> Bunların listesi:

SELECT NAME, group_concat(SALARY separator ',') FROM CUSTOMERS GROUP BY NAME; 

Ve son seçenek -> önemli değildir;

SELECT NAME,SALARY FROM CUSTOMERS GROUP BY NAME; 
+1

Bir seçenek daha: SQL yerine uygulama sitesinde gruplandırın. –

+0

Nasıl yapılacağına dair bir seçenek daha var, istediği tüm seçenekler hakkında konuştum. @PaulSpiegel – sagi

+0

Belki OP sadece kendi uygulama dilinde neler olduğunu bilmiyor. Örneğin, PHP PDO ile fetchAll (PDO :: FETCH_COLUMN | PDO :: FETCH_GROUP) 'gibi bir şey kullanabilir ve sonucu daha esnek tutabilirsiniz, çünkü bu bir dizidir. Öte yandan, sonuçta ortaya çıkan dizgeyi ayrıştırmak da kolaydır - yani herşey yolunda :-) –

0

adını ve her müşteriler için maaş varyasyonu (isim ve maaş göre gruplandırılmış) almak istiyorsanız. Bunu deneyebilirsin. Belki `GROUP_CONCAT() 'yerine SUM` arasında

SELECT name, salary FROM customers GROUP BY name, salary;