我有这个mysql表(如下图)。我想选择的ID通过ID分组mysql - 水平选择行
其中:
datakey =标签和datavalue = IS_MEMBER
,并在同一时间,其中:
datakey =因为和datavalue = 20110204
所以结束结果应该是。
我该如何做到这一点?
我有这个mysql表(如下图)。我想选择的ID通过ID分组mysql - 水平选择行
其中:
datakey =标签和datavalue = IS_MEMBER
,并在同一时间,其中:
datakey =因为和datavalue = 20110204
所以结束结果应该是。
我该如何做到这一点?
应该有可能在没有连接的情况下实现这一点。 http://www.sqlfiddle.com/#!2/ca8d6/1
SELECT t.id
FROM table_name t
WHERE (datakey = 'Label' AND datavalue = 'is_member') OR (datakey = 'Since' AND datavalue = '20110204')
GROUP BY t.id
HAVING COUNT(datakey) = 2;
这应该得到你所需要的
SELECT
a.id
FROM
some_table AS a
JOIN some_table AS b
ON
b.id = a.id
WHERE
a.datakey = 'Label'
AND
a.datavalue = 'is_member'
AND
b.datakey = 'Since'
AND
b.datavalue = '20110204'
假设这里是,在相同数据集中的领域id
引用。
请修改您的帖子,以便至少包含您对解决方案的尝试之一。谢谢。 – bernie 2013-02-18 18:47:27