sql - SQL 查询,仅显示订单上的单个地址
问题描述
我确定我在这里遗漏了一些简单的东西。我有一个查询,它返回一个如下所示的数据集:
**OrderNum Address**
12345 1405 W Hollywood
12346 1555 3rd Ave
22334 PO Box 1467
22334 1327 14th Ln S.
我现在想要的是计算那些我每个订单只能看到一个地址的地址,或者如果有多个,只需像这样显示“多个”
**OrderNum Address**
12345 1405 W Hollywood
12346 1555 3rd Ave
22334 Multiple
如果我尝试在“count(OrderNum) > 1 ...”之类的情况下执行此操作,那么我必须按地址分组,但它不起作用。其他想法?我的大脑卡在这上面,所以我需要轻推一下。谢谢!
解决方案
select ordernum,
case when count(*) > 1
then 'multiple'
else max(address)
end as address
from your_table
group by ordernum
您需要聚合所有未分组的列。我猜你没有使用max(address)
或类似的东西。
推荐阅读
- css - CSS flexbox 和 flex 1 的旋转输入范围
- python - 如何在 Odoo 中安装硒?
- linux - 有没有办法将参数传递给 .bin 文件的执行?
- pandas - 过去 n 天的滚动计数
- node.js - TypeScript 似乎没有检查类实例属性的类型
- go - 打开文件失败:解析时出现意外错误:读取数据失败。父错误:binary.Read:无效类型 uint32
- android - 如何将我从图库中挑选的照片设置为纵向?
- android - Firebase AuthStateListener 太慢了
- oracle - Oracle:在运行大型插入/选择语句时防止\缓解 Ora-01652
- wordpress - Woocommerce 的特色产品位于类别顶部