仅当给定列只有一个值时才返回行

时间:2011-09-12 06:54:26

标签: php mysql

我有一个相当复杂的连接查询,其结果我只关心结果中有一个不同的Table_ID值。例如,如果Table_ID有多个值,比如1和2 ..我希望返回0行。

我想通过添加WHERE COUNT(DISTINCT Table_ID) = 1来做到这一点。这是最好的方法吗?通过LIMIT执行此操作似乎不可能,因为这会限制我从其他表返回的行数超出我打算限制的行数。

使用PHP / MySQL。

1 个答案:

答案 0 :(得分: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