sql里的多行多列转一行多列小技巧

时间:2022-12-21 21:44:24

---恢复内容开始---

[

今天下午接受了一个紧急小任务,是将一组比赛记录统计出来,将象棋游戏玩家的两条记录在一行里面显示,进数据库看之后是首先想到的是行转列,但是一开始就觉得不对,后来写到一半确实不对,后来上网查询了半天多行多列转一行多列,发现又要写算法又要写函数,看了实在头疼,不想这么麻烦。于是自己突然间灵机一动,闪过一个小想法,立马实施,就是将所有记录前面都加上一个标识列num(row_number()函数),然后用case 判断奇偶行在显示,就行了。
select row_number() over(order by DrawID)as num,* from QPTreasureDB.dbo.RecordDrawScore where
DrawID in(select DrawID from QPTreasureDB.dbo.RecordDrawInfo where KindID='400') 。不知道是不是一个小技巧呢,跟大家分享一下

pasting

---恢复内容结束---sql里的多行多列转一行多列小技巧sql里的多行多列转一行多列小技巧

sql里的多行多列转一行多列小技巧的更多相关文章

  1. sql里将重复行数据合并为一行,数据用逗号分隔

    一.定义表变量 DECLARE @T1 table ( UserID int , UserName ), CityName ) ); ,'a','上海') ,'b','北京') ,'c','上海') ...

  2. SQL SERVER将多行数据合并成一行(转载)

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name A ...

  3. SQL SERVER将多行数据合并成一行(转)

    1)比如表中有三列数据: 2)执行如下查询: 1 SELECT [USER_NAME], [USER_ACCOUNT] 2 , [ROLE_NAME] = stuff(( 3 SELECT ',' + ...

  4. SQL SERVER将多行数据合并成一行

    1)比如表中有三列数据: 2)执行如下查询: SELECT [USER_NAME], [USER_ACCOUNT] , [ROLE_NAME] = stuff(( SELECT ',' + [ROLE ...

  5. sql查询 ,多行数据合并成一行,并且显示合并后某一列的值拼接结果

    select  [value] = stuff((select ','+modmb003  from modmb detail where modmb=18 for xml path('')), 1, ...

  6. PCB SQL MS 将多行有序数据转为一行数据(一列转一行)

    一.原数据:多行有序 SELECT CC.techname FROM PPEflow BB LEFT JOIN pubgyxxb CC ON BB.techno = CC.techno ORDER B ...

  7. SQL Server中将多行数据拼接为一行数据(一个字符串)

    表A中id与表B中aid为一对多的关系 例如: 表A: id name a1 tom a2 lily a3 lucy 表B: id aid value b1 a1 B1 b2 a1 B2 b3 a2 ...

  8. Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数

    示例表 tb 数据如下 id value ----- 1 aa 1 bb 2 aaa 2 bbb 2 ccc SELECT id, [val] = ( SELECT [value] + ',' FRO ...

  9. SQL Server中将多行数据拼接为一行数据并且有特殊字符

    有表结构如下: 这时,要求显示所有学生的爱好的结果集,代码如下: ) as hobby FROM ( SELECT name, (SELECT hobby+',' FROM student WHERE ...

随机推荐

  1. [CareerCup] 16.4 A Lock Without Deadlocks 无死锁的锁

    16.4 Design a class which provides a lock only if there are no possible deadlocks. 有很多方法可以避免死锁的发生,一个 ...

  2. JS自动格式化输入的数字/千位分隔符VIEW:858

    <script> function cc(s){ if(/[^0-9\.]/.test(s)) return "invalid value"; ss=s.replace ...

  3. sqlite3把字段为int32(用c&plus;&plus;的time&lpar;nullptr&rpar;获取的)的秒数显示为年月日时分秒

    select id, type, msg, datetime(updateTime, 'unixepoch', 'localtime') from ServerLog

  4. AngularJS开发经验&lpar;转&rpar;

    AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让 ...

  5. BZOJ 3999 旅游

    .......好长啊. #include<iostream> #include<cstdio> #include<cstring> #include<algo ...

  6. Java SE &lpar;1&rpar;之 JFrame 组件 GridLayout布局

    package com.sunzhiyan; import java.awt.*; import javax.swing.*; public class Demo_2 extends JFrame{ ...

  7. flask开发restful api

    flask开发restful api 如果有几个原因可以让你爱上flask这个极其灵活的库,我想蓝图绝对应该算上一个,部署蓝图以后,你会发现整个程序结构非常清晰,模块之间相互不影响.蓝图对restfu ...

  8. Eclipse中的sysout与debug-遁地龙卷风

    (-1)调试 在读<<一个程序员的奋斗史>>时里面提到这是一件很low的事情,突然想到自己也一直用sysout, 我是一个有情怀的人! (0)sysout的坏处 之所以长久的使 ...

  9. &OpenCurlyDoubleQuote;百度杯”CTF比赛 2017 二月场 爆破-3

    进入题目,题目源码: <?php error_reporting(0);session_start();require('./flag.php');if(!isset($_SESSION['nu ...

  10. Fragment调用startActivityForResult导致的回调Activity无法获取正确的requestId的问题

    今天遇到了一个问题 从Fragment内调用了startActivityForResult方法设置了requestId是1 但是在Activity内的onActivityResult的回调内 获得的r ...