有一个 MYSQL 查找表,它返回在多个完成者 (N) 中某个位置 (P) 收到的分数,具有多种格式 (points_id)。不同的点结构用于不同的事件。有时得分取决于完成者的数量(N),有时则不然。这是表格的简短版本,有两个示例结构。points_id -1 点取决于 N Point_id -2 点不依赖。
积分
points_id | P | N | points |
1 | 1 | 3 | 90 |
1 | 1 | 2 | 85 |
1 | 1 | 1 | 80 |
1 | 2 | 3 | 60 |
1 | 2 | 2 | 50 |
1 | 3 | 3 | 30 |
3 | 1 | | 100 |
3 | 2 | | 90 |
3 | 3 | | 80 |
3 | 3 | | 70 |
所以我的问题是:1)有没有办法将通配符放在表数据中。例如,如果显示空白的 N 列中有一个 % 并且我做了这个查询。
SELECT points from t1 WHERE points_id=3 and P=3 and N=2
它会返回 96?PS我知道这不起作用,但显示了我的想法。
2)我希望它快,可以把它放在一个程序中以用于更大的查询。我猜除非有一种非常简单的方法来做我上面展示的事情。最快的方法是在 points_id =3 的情况下为所有不同的 N 设置行。真的吗?