作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 table
+-----+-----------+-----+
| ID | NAME | LOC |
+-----+-----------+-----+
| 101 | Stainless | NY |
| 101 | Brass | MUM |
| 102 | | NY |
| 102 | Gold | JP |
| 103 | Silver | CN |
| 103 | Aluminium | US |
| 104 | Platinum | NY |
| 104 | Diamond | UK |
| 105 | | NY |
+-----+-----------+-----+
我想
group by
并把
NAME
对应到
NY
的位置。如果
NAME
的
NY
为空,则取另一个。如果
NY
对任何
ID
不可用,则从其他位置获取任何
NAME
。而且,如果某个ID仅使用空
NAME
出现一次,那么我们可以采用相同的值。
+-----+-----------+
| ID | NAME |
+-----+-----------+
| 101 | Stainless |
| 102 | Gold |
| 103 | Silver |
| 104 | Platinum |
| 105 | |
+-----+-----------+
我已经尝试了以下查询。但这没有给出我的预期输出。我想念什么?
SELECT ID, MAX(CASE WHEN LOC='NY' AND NAME!='' THEN NAME END) NAME
FROM MYTABLE
GROUP BY ID
最佳答案
您可以像这样使用聚合:
select id,
coalesce( max(case when location = 'NY' then name end),
max(name)
) as desired_name
from t
group by id;
注意:这假定空白名称实际上是
NULL
。如果不是,则调整逻辑:
select id,
coalesce( max(case when location = 'NY' and name <> '' then name end),
max(name)
) as desired_name
from t
group by id;
关于sql - GROUP BY并取给定值(如果它不为空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64999662/
我目前无法找到一种方法来为我的两个单选按钮定价,当点击其中一个按钮时,价格会转到结帐页面,用户可以在完成预订页面后访问该页面。 所以步骤: 用户点击标准或头等舱机票。 用户点击“number”的输入值
假设一个元素的值为 55: 55 我想要: 淡出元素 设置值 44 淡入元素 所以我尝试了: $("#some").fadeOut("slow").html("44").fadeIn("slow");
我是一名优秀的程序员,十分优秀!