【发布时间】:2021-11-27 22:12:19
【问题描述】:
场景是我有一个看起来像这样的表格,其中包含书籍 ID、英文和/或法文标题以及它们的销量。还有一些空值。有些书只有英文或法文标题。有的可能两者兼有或两者兼有。
| ID | Title | Language | Sales |
|---|---|---|---|
| 12345 | Sorceror's Stone | English | 50,000,000 |
| 12345 | Philosopher's Stone | English | 50,000,000 |
| 12345 | A L'ecole de sorcier | French | 50,000,000 |
| 33333 | NULL | NULL | NULL |
| 67890 | A Christmas Carol | English | 65,000,000 |
| 67890 | Un Chant de Noel | French | 65,000,000 |
| 24680 | La Fascination | French | 30,000,000 |
| 24680 | La Crépuscule | French | 30,000,000 |
| 13579 | NULL | NULL | NULL |
基本上,我想将这个表缩小如下:
- 如果至少存在 1 个英文标题,我们需要按字母顺序排列的第一个英文标题。
- 否则,如果至少存在 1 个法语标题,我们需要按字母顺序排列的第一个法语标题。
- 否则,只要字符串为空即可。
我希望我的结果表看起来像:
| ID | Title | Language | Sales |
|---|---|---|---|
| 12345 | Philosopher's Stone | English | 50,000,000 |
| 33333 | null | null | null |
| 67890 | A Christmas Carol | English | 65,000,000 |
| 24680 | La Crépuscule | French | 30,000,000 |
| 13579 | null | null | null |
【问题讨论】:
-
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
-
这能回答你的问题吗? Get top 1 row of each group
标签: sql sql-server tsql