Mysql 基于输入数组进行查询,并以相同的顺序获得相同的结果
我想获取特定uuid的场景id数组的活动状态;例如,输入将是(1,2,3)中的scene_id,uuid=2,因此它应该按照传递的scene_id的相同顺序返回(1,0,1)Mysql 基于输入数组进行查询,并以相同的顺序获得相同的结果,mysql,sql,mysqli,mysql-workbench,Mysql,Sql,Mysqli,Mysql Workbench,我想获取特定uuid的场景id数组的活动状态;例如,输入将是(1,2,3)中的scene_id,uuid=2,因此它应该按照传递的scene_id的相同顺序返回(1,0,1) scene_id uuid active 1 2 1 3 2 1 5 2 1 7 2 1 1 3 1 2 3 1 5 3 1 5 4
scene_id uuid active
1 2 1
3 2 1
5 2 1
7 2 1
1 3 1
2 3 1
5 3 1
5 4 1
1 4 1
1 8 0
我试过:
select active from likes where scene_id in (1,2,3) and uuid=2
但它返回(1,1);它忽略0,因为没有场景_id=2和uuid=2
如果您需要更多的澄清,请让我知道 如果可以将特定的uuid记录插入到新表中,则更容易:
insert into newTable
select scene_id, uid
from likes
where scene_id in(1,2,3) and uuid=2
那么您的查询应该是这样的:
select ifNull(active, 0) as r
from
likes
left join newTable on likes.scene_id=newTable.sceneId and likes.uuid=newTable.uuid
您还可以指定最后一个查询的特定顺序。示例应该返回(1,0,1),而不是(1,1,0),对吗?哦,对了!我会改正的谢谢!