我有以下表格结构:
+----+--------+------+
| id | gender | name |
+----+--------+------+
| 00 | m | A |
| 01 | f | B |
| 02 | m | C |
| 03 | m | D |
+----+--------+------+
我想从这个表中检索2个男性性别名称和1个女性性别名称。而不是编写2个单独的查询,将轮询数据库糟糕,我想知道是否有一个单一的查询,可以做必要的。因此,生成的JSON将包含2m1f条记录。
Thanks in advance
我读了这个评论,你想在一个部门得到排名最高的人,所以你可能会有一个等级字段
数据:
id gender name grade
---- ------ ----- -----
00 m Jon A
01 f Lin B
02 m Kim C
00 m Ran D
在查询中使用联合:
select Top 2 id,Name, gender, grade from @temp where gender = 'm' and grade in ('A','B') --Male
union
select Top 1 id,Name, gender, grade from @temp where gender = 'f' and grade in ('A','B') --female
注意:您可以在存储过程中更动态地更改最大行值。
结果:id Name gender grade
---- ----- ------ -----
00 Jon m A
01 Lin f B