1

你能告诉我创建以下查询的最佳实践吗?

假设我有一个包含 3 个字段的表id, owner_id, data。而且我必须执行一个 SELECT 查询,该查询将返回很多人拥有的数据。

我不能使用 OR SELECT data FROM posts WHERE owner_id = x OR owner_id = y,因为当我必须进行查询时,我最终会得到 200 个所有者 ID。

4

2 回答 2

1
SELECT data
FROM   posts
WHERE  owner_id IN (x, y)
GROUP  BY data
HAVING COUNT(*) = 2      // number of owners

DISTINCTdata如果不是每个关键字都是唯一的,则关键字是必需的owner_id

HAVING COUNT(DISTINCT owner_id) = 2
于 2013-07-17T14:03:12.413 回答
1

你试过了吗

SELECT data FROM posts WHERE owner_id IN (x,y)

IN 语句可以从数组中生成:)

于 2013-07-17T14:03:45.313 回答