当列类型为 nvarchar 时,将表与列值总和一起旋转

2023-11-30

我有一个具有以下结构的表。我想转置它。

 BookId    Status   
 ----------------------
 123A      Perfect
 123B      Restore
 123C      Lost
 123D      Perfect
 123A      Perfect
 123B      Restore
 123A      Lost
 123B      Restore

我需要转置表看起来像这样。

Output

 BookId    Total  Perfect   Restore  Lost
 -----------------------------------------
  123A      3       2         0        1
  123B      3       0         3        0
  123C      1       0         0        1
  123D      1       1         0        0

我已经尝试过这个

select
    BookId,
    sum('Perfect') as Perfect,
    sum('Restore') as Restore
from 
    [dbo].[Orders]
group by 
    BookId

但正如那些nvarchar价值观,sum是无效的。我收到这个错误

我对枢轴的手不多。但尝试以下

select *
from 
    (select SellerAddress, ApplicationStatus
     from [Farm_For_Books].[dbo].[Orders]) src
pivot
    (sum(ApplicationStatus)
         for SellerAddress in ([1], [2], [3])
    ) piv;

conditional aggregation可能会被使用

with Orders( BookId, Status ) as
(
 select '123A','Perfect' union all
 select '123B','Restore' union all
 select '123C','Lost'    union all
 select '123D','Perfect' union all
 select '123A','Perfect' union all
 select '123B','Restore' union all
 select '123A','Lost'    union all
 select '123B','Restore'   
)    
select
    BookId,
    sum(1) as [Total],
    sum(case when Status='Perfect' then 1 else 0 end ) as [Perfect],
    sum(case when Status='Restore' then 1 else 0 end ) as [Restore],
    sum(case when Status='Lost' then 1 else 0 end ) as [Lost]    
from 
    [Orders]
group by BookId;

BookId  Total   Perfect Restore Lost
123A      3        2       0     1
123B      3        0       3     0
123C      1        0       0     1
123D      1        1       0     0

Rextester 演示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当列类型为 nvarchar 时,将表与列值总和一起旋转 的相关文章

  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 外键引用多个表

    我有4张桌子 A ida name B ida B specific stuff C ida C specific stuff D ida D specific stuff 我希望另一个表 E 可以仅引用 B 或 C 而不是 D 我可以在其
  • SQL Server 2000 中是否提供公用表表达式 (CTE)

    我最近发现了以下文章 http www tsqltutorials com with common table expressions php http www tsqltutorials com with common table exp
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之
  • SQLSTATE[HY000] [2002] 资源暂时不可用 - mysql - innodb 和 pdo

    在我的错误日志中得到大量结果 如下所列 数据库中的所有表都是 innodb 并且就与这些表的任何交互而言 一切都是带有准备好的语句的 pdo 正如我所说 所有错误几乎与下面列出的错误相同 但发生在几个不同的页面上 无论页面如何 错误行始终指
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • SQL Server 支持哈希索引吗?

    所有索引都在SQL Server B Tree中吗 主键和外键肯定应该是基于哈希的索引吗 SQL Server中并非所有索引都是B树索引 SQL Server 2012添加了列存储索引 http msdn microsoft com en
  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • pandas的pivot_table保留索引

    我有一个数据框 import pandas as pd data day bucket 2011 01 21 2011 01 22 2011 01 23 2011 01 24 label birds birds birds birds nu
  • 该驱动程序未配置为集成身份验证

    尝试使用以下命令将我的 Java Web 应用程序与 MS SQL 服务器连接sqljdbc41 for jdk 1 8 这是数据库连接代码 Connection connection String url jdbc sqlserver l
  • 在sql server 2008中插入新记录时如何检查数据库中的值是否已存在

    我创建了一个存储过程 用于从表中选择值 如果该值已经存在 那么它将更新该值 但如果不存在 那么它将插入新值 我为此使用了存储过程 如下所示 Create PROCEDURE dbo sp Insert Tid int NULL Quid i
  • 当我输入 dateadd 或 datediff 代码时,我总是收到此错误“ORA-00904“DATEADD”无效标识符。”

    我有一个大学项目 并且有一个包含入院和出院日期属性的患者表 我需要删除超过 7 年的记录 我使用了以下代码 delete from patient where dis date gt datedadd yy 7 getdate 我收到错误
  • 如何将整行(在 SQL 中,而不是 PL/SQL 中)传递给存储函数?

    我遇到以下 非常简单 问题 我想编写一个 Oracle SQL 查询 大致如下 SELECT count MyFunc MyTable FROM MyTable GROUP BY MyFunc MyTable 在 PL SQL 中 可以使用
  • ActiveRecord 嵌套 SELECT——我可以在没有手动 SQL 的情况下完成它吗?

    我有一张桌子 上面有 除其他外 一个名字和一个等级 我想返回所有唯一名称的集合 但对于返回的每个名称 我想选择排名最高的行 这很简单 有两个嵌套的 SELECT 语句 SELECT FROM SELECT FROM foo ORDER BY
  • 按两列的最小值排序

    I use SQL Server 2008 R2 我需要按两列的最小值对表进行排序 该表如下所示 ID integer Date1 datetime Date2 datetime 我希望我的数据按至少两个日期排序 以这种方式对该表进行排序的
  • 自动创建n列表

    我想在一行中将 236 个 int 值存储到 sql 中 现在我必须声明该表 但我不想输入 236 倍的列名 列名应该是 BYTE001 BYTE002 或其他前缀 如 BYTE B INT 可以自动生成ColumnNames吗 我尝试以下
  • 将此 MySQL 查询转换为 PyGreSQL

    我正在开发一个 Ruby 应用程序 它使用 mysql 函数 XOR 和 BIT COUNT 不过 我现在需要在运行 PyGreSQL 的 Heroku 上运行该应用程序 我找不到任何可以帮助我的 PyGreSQL 文档 那么任何人都可以翻
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp

随机推荐

  • 为什么在生产中会出现“未定义方法‘分页’”错误?

    在生产服务器上使用 will paginate 时出现此错误 I 2013 10 24T20 17 40 386696 18564 INFO Started GET meals for 190 273 432 55 at 2013 10 2
  • Chrome Cookie API 不允许我使用返回值

    我正在制作一个 chrome 扩展 它在用户登录时设置 cookie 当我尝试使用chrome cookies get 方法回调可以记录结果 但我无法将其传递出回调 function getCookie cookieName var ret
  • 从 NET Core Web 应用程序调用 Microsoft Graph SDK 时出现 MsalUiRequiredException

    我们有一个 NET Core 3 1 Web 应用程序 其中用户在 Azure AD 中使用以下命令进行身份验证微软身份网络包裹 我们正在代表登录用户调用 Microsoft Graph SDK 如下所述here 登录应用程序后 一切正常
  • R 闪亮保存到服务器

    我正在构建一个 R Shiny 应用程序 充当我的团队构建的模拟模型的 GUI 用户定义参数 单击运行 模型会生成一堆图表和表格作为输出 我的问题是 每次用户打开应用程序时 他们都必须再次输入参数 我希望他们能够保存参数并在返回应用程序时再
  • JTextArea.append 的线程安全

    java doc说append方法是线程安全的 但是 我记得当我尝试从不同线程 几个月前 使用附加到文本区域时 我得到了混乱的文本 其中线程 1 将附加一些字符 而线程 2 将附加一些其他字符 因此 我得到的不是 jtextarea 中的
  • Ruby x,y = gets.split.map &:to_i

    我对这行 ruby 代码感到困惑 为什么赋值给 x y 而不是单个变量 x y gets split map to i 这将数组中的第一个条目分配给x 第二个条目y与分配给单个变量相反 在这种情况下 数组将分配给该变量 将多个变量放在赋值的
  • VS安装项目:在不同目录中安装文件

    我有 Visual Studio 安装项目 我想将我的文件之一安装到驱动器 C 上的某个目录 我该怎么做 一个例子 我正在将我的应用程序安装在 C MyApp 中 以及一个文件 settings ini 到 C Settings MyApp
  • 分配给 Setparent(..) 后 Showmodal 出现问题

    我创建了两个应用程序 MainApps 和 SubApps SubApps 有一个模式类型对话框 例如登录 注销表单等 并且工作正常 将其附加到 MainApps 后 模态对话框显示为正常的框形式 它的行为类似于 DIALOG SHOW 而
  • Google登录API:强制输入密码?

    我在我的网站上使用了多个社交提供商 包括 Google 每次用户请求我的一项操作时 我都会询问 Google 帐户的密码 这是出于安全原因 通过 Facebook 我们可以发送auth type reauthenticate范围 Googl
  • 使用具有不同 xlabel 的 Pandas 绘制日期时间条形图

    我想绘制一个条形图 其中带有条形图的 pandas DataFrame 的每一列中只有几个数据条目 这是成功的 但它不仅有错误的 y 轴限制 而且还使 x 刻度间隔非常紧密 使得图表毫无用处 我想将步速更改为大约每周左右 并且仅显示日 月和
  • CKEditor:设置光标/插入符位置

    如何在 CKEditor 3 x 中定位插入符号 我有 2 个位置 我想在这两个位置上使用 insert HTML 伪代码 editor setCaret 20 function does not exists editor insertH
  • CSS 不适用于 django 密码表单字段

    我从网上下载了一个CSS模板 我能够将除密码字段和按钮样式之外的所有内容链接到我的 Django 代码 我错过了什么步骤 我已阅读 Django 文档 并且正在使用 attr 方法将 css 属性添加到我的 Django 表单字段 在我的P
  • 如何在 Linux/OS X 上打印 wstring?

    我怎样才能打印这样的字符串 a c e 在控制台 屏幕上 我试过这个 include
  • 为什么当我执行performSelectorInBackground:时没有自动释放池?

    我正在调用一个在后台线程中运行的方法 self performSelectorInBackground selector loadViewControllerWithIndex withObject NSNumber numberWithI
  • 每个 Flash 上传器都会给出错误的进度值

    我去年初为内部网站编写的文件上传脚本在许多机器上表现得很奇怪 在某些机器上它始终工作正常 而在其他机器上它始终表现不佳 我在使用 YUI Uploader SWFUpload 2 2 和 2 5a 和 Uploadify 时遇到完全相同的问
  • MutableLiveData 中 setValue() 和 postValue() 的区别

    有两种方法可以使变化值MutableLiveData 但有什么区别setValue postValue in MutableLiveData 我找不到相同的文档 这里是班级MutableLiveData安卓的 package android
  • 改变矩阵维度

    让我们举一个可复制的例子 这是我的初始矩阵 d lt matrix 1 80 5 d 1 2 3 4 5 1 1 17 33 49 65 2 2 18 34 50 66 3 3 19 35 51 67 4 4 20 36 52 68 5 5
  • 在 asp net mvc 5 中使用会话变量进行授权

    所以我的项目需求发生了变化 现在我想我需要构建自己的操作过滤器 所以 这是我当前的登录控制器 public class LoginController Controller GET Login public ActionResult Ind
  • 如何随机均衡不相等的值?

    假设我有多个不相等的值 a b c d e 是否可以仅通过随机数生成将这些不相等的值变成相等的值 示例 a 100 b 140 c 200 d 2 e 1000 我希望算法随机定位这些集合 以便最常定位最大值 而大多数情况下只保留最小值 我
  • 当列类型为 nvarchar 时,将表与列值总和一起旋转

    我有一个具有以下结构的表 我想转置它 BookId Status 123A Perfect 123B Restore 123C Lost 123D Perfect 123A Perfect 123B Restore 123A Lost 12