标签: rows

SQL服务器:将行转换为列

我有一个列的表sales(int),month(int).我想检索每个月对应的销售总额.我需要以每个月对应的12列的形式输出,其中将有一个包含每列(月)销售额的记录.

t-sql sql-server rows

8
推荐指数
1
解决办法
2万
查看次数

当没有使用"order by"子句时,Oracle SQL以任意方式返回行

也许有人可以向我解释这一点,但是当从Oracle查询数据表时,如果存在密钥的多个记录(比如客户ID),那么如果没有隐含的"order by",那么该客户首先出现的记录可能会有所不同.声明通过说替代字段(例如事务类型)来强制执行订单.因此,在同一个表上运行相同的查询可能会产生与10分钟前不同的记录顺序.

例如,一次运行可以产生:

Cust_ID,Transaction_Type
123 A
123 B.

除非使用"Transaction by Transaction_Type"子句,否则Oracle可以在下次运行查询时随意返回以下结果:

Cust_ID,Transaction_Type
123 B
123 A.

我想我的印象是Oracle中有一个数据库默认的行排序(可能)反映了磁盘介质上的物理排序.换句话说,任意顺序是不可变的,并且在重新运行查询时将保证相同的结果.

这是否与优化器有关,以及它如何决定最有效地检索数据的位置?

当然,编程视角下的最佳实践是强制要求任何顺序,我对这种行为感到有点不安.

sql oracle rows sql-order-by

8
推荐指数
5
解决办法
9102
查看次数

IDataReader - 获取总行数的任何方法?

有没有办法在使用reader.Read();?迭代行之前获取从SQL查询(来自IDataReader)返回的总行数?

c# datareader rows count

8
推荐指数
2
解决办法
7558
查看次数

Matlab - 通过多次合并相同的原始矢量来构建矩阵

是否有matlab功能允许我进行以下操作?

x = [1 2 2 3];

然后基于x我想构建矩阵m = [1 2 2 3; 1 2 2 3; 1 2 2 3; 1 2 2 3]

matlab tiling rows matrix repeat

8
推荐指数
1
解决办法
1万
查看次数

在MS Access中将多行连接成单行

可能重复:
在Access 2007 Access 2007中组合行
- 将一个表中一列的字段连接到另一个表中的单个逗号分隔值

目前我的表结构有点像这样:

姓名 --- Cat --- Desc --- Thresh --- Perc --- Err --- BP
Bob ------- C1 ------- Inf -------- 7Per -------- 0.05 ------ 0 ----- ADC2
Bob ------- C1 ------- Inf -------- 7Per- ------- 0.05 ------ 2 ----- BAC2
Bob ------- C1 ------- Inf -------- 7Per --- ----- 0.05 ------ 0 ----- RBE2
Bob ------- C1 ------- Inf -------- 7Per ----- --- 0.05 ------ 8 ----- VBE2
Bob ------- C1 ------- …

ms-access concatenation rows

8
推荐指数
1
解决办法
7万
查看次数

如何从包含n*NA的数据框中删除行

我有许多大型数据集,大约有10列,大约有200000行.并非所有列都包含每行的值,尽管至少有一列必须包含要存在的行的值,我想设置NA一行中允许的s 值的阈值.

我的Dataframe看起来像这样:

 ID q  r  s  t  u  v  w  x  y  z
 A  1  5  NA 3  8  9  NA 8  6  4
 B  5  NA 4  6  1  9  7  4  9  3 
 C  NA 9  4  NA 4  8  4  NA 5  NA
 D  2  2  6  8  4  NA 3  7  1  32 
Run Code Online (Sandbox Code Playgroud)

我希望能够删除包含超过2个包含NA的单元格的行

ID q  r  s  t  u  v  w  x  y  z
 A 1  5  NA 3  8  9  NA …
Run Code Online (Sandbox Code Playgroud)

merge r rows filter na

8
推荐指数
2
解决办法
9507
查看次数

R - 将矩阵中的每个值除以其行/列的最大值

我试图通过将每个值除以其列或行名称的最大值中的较小值来转换矩阵中的值.我遇到了麻烦,因为我不知道如何从较大的函数内查询特定值的行/列.

一小部分数据如下所示:加权(对称)邻接矩阵,mat:

              Acousmatic Acoustic Afro-beat Alternative Ambient
  Acousmatic         125       11         3           3       1
  Acoustic            11   112398      1810       24216    3824
  Afro-beat            3     1810     10386        1220     298
  Alternative          3    24216      1220      103286    2838
  Ambient              1     3824       298        2838   20400
Run Code Online (Sandbox Code Playgroud)

作为一个例子,我想通过找到由其对角线给出的"声学"的最大值(112398)和由其对角线给出的"替代"的最大值来转换"替代声学"(24216)的值(103286) ,并将"Alternative-Acoustic"(24216)除以这两个数字中的较小者.所以在这种情况下,较小的将是"替代",所以我想用24216/103286 =〜.2345转换"Alternative-Acoustic"值.

我想自动对此矩阵中的所有值执行此变换,这将导致矩阵的值范围为0-1,对角线为全1.

我在许多不同的迭代中尝试了以下内容,其中"mat"作为矩阵和数据框,但我不知道如何正确查询矩阵中每个值的行和列最大值.这是使用不存在的函数('colmax'和'rowmax'),但我认为它最清楚地表达了我想要做的事情:

transformedmat < - apply(mat,1:2,function(x)x/min(colmax(x),rowmax(x)))

我也尝试编写一个嵌入式函数,但结果很差,我想知道是否有一个更简单的解决方案:

rescalemat <- function(mat){
    apply(mat, 1, function(x){
    colmax<-apply(mat, 2, function(x) max(x))
    rowmax<-apply(mat, 1, function(x) max(x))
    x/min(colmax,rowmax)
    mat
})
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

谢谢.

database r rows matrix

8
推荐指数
2
解决办法
4011
查看次数

Mysql"select*from"不返回所有行

我已经习惯了PostgreSQL,并且不了解MySQL上的这种行为.

该表(来自SugarCRM)有3057行:

mysql> SELECT  count(*) FROM tasks ;
+----------+
| count(*) |
+----------+
|     3057 |
+----------+
Run Code Online (Sandbox Code Playgroud)

但是在跑步时SELECT * FROM tasks:

mysql> SELECT * FROM tasks ;
...
2344 rows in set (0,02 sec)
Run Code Online (Sandbox Code Playgroud)

我使用的是相当旧的MySQL版本,但问题是我只是试图转储数据库并恢复到新版本.

# mysql --version
mysql  Ver 14.14 Distrib 5.1.51, for slackware-linux-gnu (x86_64) using  EditLine wrapper
Run Code Online (Sandbox Code Playgroud)

你有什么想法?

mysql sql select rows count

8
推荐指数
1
解决办法
2450
查看次数

均匀地打印2个均匀填充的列表

我正在使用以下代码生成2个列表,nameList和gradeList.

nameList[]        
gradeList[]
for row in soup.find_all('tr'):
        name = row.select('th strong')
        grade = row.select('td label')
        if grade and name:
            if "/" in grade[0].text:
                gradeList.append(grade[0].text)
                nameShort = re.sub(r'^(.{20}).*$', '\g<1>...', str(name[0].text))
                nameList.append(nameShort)
Run Code Online (Sandbox Code Playgroud)

产生类似的东西:

nameList = [“grade 1”,”grade 2222222222”,”grade 3”]
gradeList = [“1/1”,”2/2”,”100000/100000”]
Run Code Online (Sandbox Code Playgroud)

我希望程序能够并排打印2个清洁列中的列表.在每列中,我希望数据对齐到左侧.列表(没有失败)将始终均匀填充.第一列(nameList)永远不会超过25个字符.我正在寻找的将类似于以下内容:

        Assignment          Grade
0       grade 1             1/1
1       grade 2222222222    2/2
2       grade 3             100000/100000
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用pandas并且它有效,但格式化很奇怪且不合适.它不会像我想的那样对齐左边.我相信这是因为每个数据在两个列表中都有不同的字符长度(如上所示).

python string formatting list rows

8
推荐指数
2
解决办法
2万
查看次数

如何使用Jooq insertInto复制和修改表行

我正在使用Jooq并尝试在同一个表中生成数据集的近似副本.在此过程中,我想将一个字段的值更新为已知值.我一直在看文档和尝试变化,但没有运气.这是我更新REGISTRATION表并将'stage'字段设置为值6(它为5)的方法.所以我最终会得到原始数据加上一个只有不同阶段值的重复集.在伪代码中

insert into Registration (select * from Registration where stage=5) set stage=6 
Run Code Online (Sandbox Code Playgroud)

我尝试下面的代码,并认为我可以添加一个".set(...)"方法来设置值,但似乎没有效果.

create.insertInto(REGISTRATION)
    .select(
        (selectFrom(REGISTRATION)
            .where(REGISTRATION.STAGE.eq(5))
        )
    ).execute();
Run Code Online (Sandbox Code Playgroud)

java sql rows duplicates jooq

8
推荐指数
1
解决办法
534
查看次数