sql - 根据一行计算多行
问题描述
我想我只是没有得到搜索结果,因为这应该在这里的某个地方得到回答,因为我在输入标题时遇到了麻烦。
我的表如下所示:
Name Element City
Design Inc 51024 New York
Plant Corp 51024 Chicago
Energy Ltd 9665 Boston
如果我写
Select Name, Element, City
From Table
Where City = 'New York'
基于元素,这里是相同的值,我希望输出是
计数
For New York
Name = 2
Element = 1
芝加哥也有同样的输出。我在使用 where 子句时遇到了麻烦,因为显然如果我将 = 放到一个城市,我得到的只是一行。
谢谢
解决方案
你需要GROUP BY
子句:
SELECT COUNT(Name) AS Name_count, COUNT(DISTINCT Element) AS Element_count
FROM Table t
WHERE City = 'New York'
GROUP BY Element;
推荐阅读
- c# - 在 C# 中创建异步资源观察器(服务代理队列资源)
- javascript - 无法读取空 Bing 地图的属性“原型”
- spring-boot - 我可以在服务器端使用 GoogleIdToken 在谷歌驱动器上创建文件吗?
- azure - 将 Azure SDK 2.1 更新到 3.0 的最新版本
- linux - 在 c 代码中使用 asm volatile 的多条汇编指令
- unit-testing - 在 karma 中设置全局属性
- javascript - Ionic4 组件 - 菜单:必须有一个“内容”元素来监听拖动事件
- gcc - 我的编译器没有按预期解析转义序列
- odoo - 如何在 qweb odoo11 中获取父位置
- android - 应用服务器数据在调试模式下获取,但在发布模式下不起作用