我有下面的SQL查询
select sta_name Station,count(factory_name) as factories from gps1
group by sta_name
order by sta_name
Run Code Online (Sandbox Code Playgroud)
通过这个查询我只得到一个工作站的总工厂.问题是我想得到的结果形状,工厂编号也应该显示在工厂的总工厂中如果一个工作站有5个因素然后五个工厂应该有这个输出
1/5
2/5
3/5
4/5
5/5
Run Code Online (Sandbox Code Playgroud)
任何人请帮助我得到这种类型的结果 更新 我想要这个输出例如我在车站1有5个工厂
factoryName Count
factroty 1 1/5
factroty 2 2/5
factroty 3 3/5
factroty 4 4/5
factroty 5 5/5
Run Code Online (Sandbox Code Playgroud)
将计数转换为分析函数并删除分组:
select sta_name Station,count(factory_name) over(partition by sta_name) as factories from gps1
order by sta_name
Run Code Online (Sandbox Code Playgroud)
当然,如果您想要它,1/5那么将其更改为:
select sta_name||'/'||count(factory_name) over(partition by sta_name) as factories from gps1
order by sta_name
Run Code Online (Sandbox Code Playgroud)
编辑:将其标记为"1中5","2中5"等,然后您可以添加row_number:
select FACTORY_NAME
, row_number() over (partition by STA_NAME order by STA_NAME)
|| '/'
|| count(STA_NAME) over (partition by STA_NAME)
as FACTORIES
from GPS1
order by FACTORY_NAME
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5000 次 |
| 最近记录: |