我想要做這樣的事情:'in(select ...)'語句的多個變量?
select value1, value2, value3, value4, count(1) from mytable where value1, value2, value3, value4 in (select value1, value2, value3, value4 from mytable where record_no = 1 and value5 = 'foobar') group by value1, value2, value3, value4 having count(1)>4;
也就是說,我想找到values1-4爲1-4那些對他們的記錄ATLEAST一個特定屬性的所有羣體,我想只有那些有四個以上記錄的組。
更新澄清
select * from mytable;
會給你像
value1 value2 value3 value4 record_no value5 lots more columns ------ ------ ------ ------ --------- ------ ----------------- aaa bbb ccc ddd 1 foobar aaa bbb ccc ddd 2 abcdef aaa bbb ccc ddd 3 zzzzzz aaa bbb ccc ddd 4 barfoo aaa bbb ccc ddd 5 dsnmatr a1 b1 c1 d1 1 foobar a1 b1 c1 d1 2 foobar a2 b2 c2 d2 1 barfoo a2 b2 c2 d2 2 barfoo
我想找到值1,值2,值3的值,VALUE4 VALUE1的所有羣體,值2,值3,值4,其記錄1具有'foobar'作爲其值5,並且組大小> 4。
例如,它應該返回
value1 value2 value3 value4 ------ ------ ------ ------ aaa bbb ccc ddd
你的例子絕對沒有意義,你的解釋並不十分清楚。你可以[編輯]你的問題,併發布一些樣本數據和你想從這些數據中得到的結果? –
我已更新它。 – dwjohnston