2016-03-25 17 views
0

ben id 3 ile sonuçlarında satır var istiyorum Kont ayrı değer başka değerin sayısı = 1

------------------------------ 
|id | val1 | val2 | date  | 
______________________________ 
1  10  2  1990-10-02 
2  10  3  1990-10-02 
3  1  1  1990-10-02 
4  21  1  1990-10-02 
5  30  3  1990-10-02 
6  30  1  1990-10-02 

ve 4 Verilen nerede.

Bu nasıl başarılır? Bunun için group by ve having kullanabilirsiniz

+0

Son iki sütun ilgisiz mi? – Strawberry

+1

Lütfen istediğiniz sonuçları gösterin. –

cevap

2

DISTINCT COUNT (*) SEÇ : Genel olarak

select t.* 
from t 
group by val1 
having count(*) = 1; 

, ben select içinde bir araya toplanmamış sütuna sahip bir toplama sorgusu sahip karşıyım. Bununla birlikte, bu durumda, count(*) yalnızca bir eşleşen satır olduğunu garanti ettiği için iyidir. Not: Bu diğer veritabanlarında çalışmayacaktır. Not: Bu diğer veritabanlarında çalışmayacaktır.

+0

Cevabınız neredeyse ihtiyacım olan şey. Laravel 'da buna benzer bir şeyim var ('created_at', 'like', $ bugün. "%") -> different ('ip') -> count ('ip'); https://jsfiddle.net/L7zpgbku/ - işte masa. Hemen çıkma oranını almak için bu sorguyu kullanmak istiyorum –

1
SELECT DISTINCT x.* 
      FROM my_table x 
      LEFT 
      JOIN my_table y 
      ON y.id <> x.id AND y.val1 = x.val2 
      WHERE y.id IS NULL; 
İlgili konular