2016-03-22 21 views
2

kullanırken tüm satırların sonucunu döndürür. Seçilen gruba göre değer toplamı almam gerekiyor, bunun yerine tüm değerlerin toplamını alıyorum, bu şekilde deniyorum.MySQL SUM, GROUP BY

Veritabanı

| ip  | date | value | 
| 1698170033 | 19032016 | 1000 | 
| 1698170034 | 19032016 | 1000 | 
| 1698170033 | 19032016 | 1000 | 
| 1698170033 | 20032016 | 1000 | 
| 1698170034 | 20032016 | 1000 | 
| 1698170035 | 20032016 | 1000 | 
| 1698170036 | 20032016 | 1000 | 
| 1698170034 | 20032016 | 1000 | 

MySQl

SELECT 
`date`, `ip`, SUM(`value`) 
FROM `stats`.`stats`  
GROUP BY `date`, `ip` 

Bu

| 1698170033 | 19032016 | 2000 | 
| 1698170034 | 19032016 | 2000 | 
| 1698170033 | 20032016 | 1000 | 
| 1698170034 | 20032016 | 1000 | 
| 1698170035 | 20032016 | 1000 | 
| 1698170036 | 20032016 | 1000 | 

Beklenen sonucu sonucunu verir

| 1698170033 | 19032016 | 1000 | 
| 1698170034 | 19032016 | 1000 | 
| 1698170033 | 20032016 | 1000 | 
| 1698170034 | 20032016 | 1000 | 
| 1698170035 | 20032016 | 1000 | 
| 1698170036 | 20032016 | 1000 | 

Lütfen bunu yapmanın olası bir yolunu önerin.

SELECT `date`, `ip`, AVG(`value`) 
    FROM `stats`.`stats` 
    GROUP BY `date`, `ip` 

Veya:

SELECT `date`, `ip`, max(`value`) 
    FROM `stats`.`stats` 
    GROUP BY `date`, `ip` 

Yoksa ayrı çıkış istiyorum: Ya ortalama istiyorum ya da öylesine değerlerin sadece bir benzeri

Teşekkür

+0

Bu tüm soru mu? – sagi

+0

@sagi evet test amaçlı tüm sorguyu yapıyor –

+0

Sonuçta toplamı istemiyorsanız, SUM işlevini neden kullanıyorsunuz? – piotrgajow

cevap

2

görünüyor

SELECT distinct `date`, `ip`, `value` 
    FROM `stats`.`stats` 
+0

Evet, aradığım şey buydu. Teşekkürler –