2011-09-12 244 views
0

我有一個相當複雜的連接查詢,其結果我只關心結果中有一個不同的Table_ID值。例如,如果Table_ID有多個值,比如1和2 ..我想要返回0行。只有給定列只有一個值時才返回行

我正在考慮加入WHERE COUNT(DISTINCT Table_ID) = 1。這是最好的方式去做這件事嗎?通過LIMIT這樣做似乎不可能,因爲這會限制從其他表返回的行數超出我想限制的行數。

使用PHP/MySQL。

+0

這個問題不能沒有看到你使用的是完整的查詢來回答。 – Jon

回答

1

我在Table_ID上做了一次分組,然後計算組中的項目數。喜歡的東西:

SELECT *, COUNT(*) AS num FROM `myTable` GROUP BY `Table_ID` HAVING num = 1 

更多信息:http://www.java2s.com/Code/SQL/Select-Clause/UseCOUNTGROUPandHAVING.htm

+0

當有多個具有相同'Table_ID'的行時,不會分組會阻止我獲取其他行嗎? – babonk

+0

是的,但你「只關心結果中有一個不同的Table_ID值」,對嗎? – Rijk

+0

是的,可能有多行只有一個不同的Table_ID – babonk