SQL选择行,其中每个id至少有一个值

时间:2015-06-02 19:49:41

标签: mysql

我已经查看了这些问题的其他答案,并且没有看到符合我想要的问题。

所以我有一个带有id和状态的表以及每个id具有不同状态值的多个记录。如何仅返回一个表,其中至少有一个id的记录是某个值?所以,例如,如果我有

 id|state
  1|CA
  1|ZZ
  1|ZZ
  2|NY
  2|CA
  3|NY
  4|IL
  4|ZZ

我希望他们有在纽约的记录

 id|state
  2|NY
  2|CA
  3|NY

1 个答案:

答案 0 :(得分:7)

你可以试试这个:

SELECT *
FROM tablename
WHERE id IN (SELECT id FROM tablename WHERE state = 'NY');