mysql 中表名 table 复合主键 id,type 通过其他系统 获得一堆 主键 [{1,1},{2,1},{3,1},{4,2},{5,2},{6,2}……] 请问 我在 table 中 如何通过最简单的 sql 语句查询出 我所拥有的 复合主键数组 相关的实体 select * from table where condationSql 这个 condationSql 我该怎么写
1
Ghkitg 2018-02-13 17:10:01 +08:00 2
SELECT *
FROM t WHERE (col1, col2) IN ((val1a, val2a), (val1b, val2b), ...) ; |
2
longnight0119 OP 好的 我试一下,稍后在回复,
|
3
longnight0119 OP @Ghkitg 解决了 这个写法真的是 不好搜 ,百度了 什么结果都没有 ,还真的是好用 ,谢谢, 请问相关的知识 我在哪里能补一下 ,还请不吝赐教
|
4
Ghkitg 2018-02-13 17:15:00 +08:00
|
5
longnight0119 OP @Ghkitg 假如说我要 group by (id,type) having count(id,type) =2 要实现这样的需求 该怎么 写 我试了
group by (id,type) having count(id,type) =2 这样的方式 查询 error:Operand should contain 1 column(s) |
6
wanganjun 2018-02-13 18:02:17 +08:00 via iPhone
@longnight0119 直接 having count() = 2 应该就可以了
|
7
longnight0119 OP @wanganjun 不行 我试了 error:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')=2
|
8
longnight0119 OP @wanganjun 假如说我要 group by (id,type) having count(id,type) =2 要实现这样的需求 该怎么 写 我试了
group by (id,type) having count(id,type) =2 这样的方式 查询 error:Operand should contain 1 column(s) 这个是因为 group by 后面不能跟 圆括号,把圆括号 去掉以后 执行查询 就被阻挡在 having count 这里了 |
9
longnight0119 OP @wanganjun 然后 把 having count() 中的内容去掉 就是[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')=2
|