【发布时间】:2021-08-19 21:52:32
【问题描述】:
我有一个人表:
| id | name | age (18-20) | gender |
------------------------------------
| 1 | Kyle | 20 | male |
| 2 | Jane | 19 | female |
| 3 | Brian| 19 | male |
| 4 | Chris| 19 | male |
| 5 | Mary | 19 | female |
| 6 | Kate | 20 | female |
我想创建一个 SELECT,在其中将每个性别放在各自的列中,并且行应显示年龄计数,如下所示:
| male | female |
-----------------
| 0 | 0 |
| 2 | 2 |
| 1 | 1 |
第一行显示有 2 名 18 岁的男性和 1 名女性。秒显示 19 等。我只是想了解逻辑,因此顺序(ASC、DESC)和类似的细节并不重要。
【问题讨论】:
-
将年龄放入数据库有点愚蠢,您将不得不每年更改它。您应该存储 DOB 并计算它
-
@Charlieface 我完全同意。这只是我理解逻辑的一个例子,它不是我的实际表格。
标签: sql sql-server select