很简单,
我有一张表:
ID,
Name,
Key,
Score
我想从表格中选择分数大于或等于0.5或者只有最高分数的所有键(如果没有')。
数据示例:
1, Messi, AAA, 0.8
2, Messi, AAA, 0.7
3, Ronaldo, BBB, 0.1
4, Ronaldo, BBB, 0.3
5, Ronaldo, BBB, 0.4
6, Rooney, CCC, 0.9
7, Rooney, CCC, 0.4
8, Rooney, CCC, 0.2
我希望结果是:
1, AAA, 0.8
2, AAA, 0.7
3, BBB, 0.4
6, CCC, 0.9
这可能吗?
答案 0 :(得分:2)
你可以这样做:
SELECT
tbl.*
FROM
table1 AS tbl
WHERE
tbl.Score>0.5
OR
(
SELECT
MAX(t.Score)
FROM
table1 AS t
WHERE
t.Name=tbl.Name
AND t.[Key]=tbl.[Key]
) = tbl.Score
这会得到这个结果:
1 Messi AAA 0.8
2 Messi AAA 0.7
5 Ronaldo BBB 0.4
6 Rooney CCC 0.9