小编Con*_*rix的帖子

SQL总行数

我需要选择行数:

select 
    int_re_usu as Qtd_Respostas 
from 
    tb_questionario_voar_resposta  
group by 
    int_re_usu
Run Code Online (Sandbox Code Playgroud)

它返回:

1- 687
2- 375076
3- 339012
4 -314083
5 -52741
6 -339977
7- 276041
8- 373304
9 - 339476
10- 51095
11- 270365
12 - 6
13 - 308670
14 -305232
15 - 85868
16 - 9893
17 -300598
18 - 300572
19 - 275889
20 - 6092
21 - 80092
22 - 307104
23 -273393
Run Code Online (Sandbox Code Playgroud)

我想选择数字23,即总row_count.

任何想法?

sql

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

TSQL报告 - 按周计算数据?

我正在编写一份报告,需要显示一周的收据,按地点分组,每周的每一天都有一个单独的列.这将通过SSRS和SQL Server 2008 R2提供.最终结果应如下所示:(但对于一周中的所有7天)

Location    Monday    Tuesday
Building3   $100      $75
Building4   $25       $35
Building5   $105      $21
Run Code Online (Sandbox Code Playgroud)

我编写了以下T-SQL SELECT语句,以从报告表变量(@reporting)中获取此数据.然后打算按位置对输出进行分组,以获得上面显示的布局.

原始数据列出了单行中的收货日期,总计和位置.我想转动数据,以便星期几显示在最前面.必须有一个比你在下面看到的更好的方法.有帮助吗?

    SELECT
        LocationKey.Location
        ,Sunday.Cost as Sunday
        ,Monday.Cost as Monday
    FROM 

        (
            SELECT DISTINCT Location 
            FROM @reporting
            WHERE Location NOT IN ('Building01', 'Building02', '')
        ) AS LocationKey

    LEFT JOIN  

(SELECT  

sunday.Location
,sunday.Cost

FROM @reporting as sunday (nolock) 

WHERE DATEPART(weekday,sunday.ReceiptDate)= 1

        ) AS Sunday
        ON Sunday.Location = LocationKey.Location

LEFT JOIN  

(SELECT  
Monday.Location,
Monday.Cost

FROM @reporting as Monday (nolock) 

WHERE DATEPART(weekday,Monday.ReceiptDate)= 2

        ) AS Monday …
Run Code Online (Sandbox Code Playgroud)

sql t-sql ssrs-2008

4
推荐指数
1
解决办法
4389
查看次数

Oracle分组

我希望能够做到的是总结每个"插曲集"的时间ID与一组的时间,而不是获得NC到C和C到NC的第一集时间以及从NC到C的最后一集时间和C到NC在下表中我手动添加了GRP_Time列.我还添加了最终结果表

这是我试图系统地生成的指标.

ID    ASSign_ID  GRP      Time            GRP_Time   
11    1788       NC       6             
11    1802       NC       1               7
11    2995       C        7               7
11    5496       NC       11              11
11    6077       C        2 
11    6216       C        2
11    6226       C        4               8  
11    6790       NC       5               5
12    1234       C        6               6
12    2345       NC       1               
12    3456       NC       8               9
12    4567       C       11              11
14    6789       C        2 
14    7890       C        2
14    8900       C        4               8  
14    8904 …
Run Code Online (Sandbox Code Playgroud)

sql oracle gaps-and-islands

4
推荐指数
1
解决办法
246
查看次数

sql查询逻辑 - sql server 2008

有没有办法改善这个查询..

INSERT INTO mastertable 
VALUES      (SELECT * 
             FROM   staging_tbl s 
             WHERE  s.pac NOT IN (SELECT pac 
                                  FROM   mastertable) 
                    AND s.store NOT IN (SELECT store 
                                        FROM   mastertable)) 
Run Code Online (Sandbox Code Playgroud)

不确定这是否可以在第一位工作..基本上......只有当相同的PAC-STORE组合当前不存在时才想从Staging_Tbl中选择记录.如果PAC存在但是对于另一个STORE ..,我们应该选择,反之亦然.
例如:如果MasterTable如下所示,

PAC1  STORE1
PAC1  STORE2
PAC2  STORE1
PAC2  STORE2
Run Code Online (Sandbox Code Playgroud)

只有在登台表中有像PAC1 STORE3这样的记录时才应该插入..而不是PAC1 STORE2

sql sql-server

3
推荐指数
1
解决办法
204
查看次数

MySQL:用一个查询可以做到这一点吗?

我试图在一个查询中执行两个不同的SUM.

user   points   date_achieved
-----------------------------
Foo    10       2000-01-01
Foo    20       2011-11-18
Bar    10       2000-01-01
Bar    20       2011-11-15
Bar    30       2011-11-18
Run Code Online (Sandbox Code Playgroud)

1)总积分

SELECT user, SUM(points) AS points_total
FROM myTable
GROUP BY user
Run Code Online (Sandbox Code Playgroud)

2)过去一个月内积累的积分

SELECT user, SUM(points) AS points_month
FROM myTable
WHERE date_achieved >= CURRENT_DATE - INTERVAL 1 MONTH
GROUP BY user
Run Code Online (Sandbox Code Playgroud)

使用单个查询实现此目的的最佳方法是什么?

非常感谢.

mysql sql

3
推荐指数
1
解决办法
63
查看次数

选择每组的前x个记录

我使用下面的查询来搜索标题中包含术语的产品.查询返回所需的结果(通常结果太多).

现在我只希望它能够为每家公司选择最多3个(随机)产品.一些公司返回了许多记录/产品,但我只需要拿3个并继续下一个公司

SELECT p.title As entryname, cname 
FROM company c, product p
WHERE p.title LIKE '%steel%' AND p.cid = c.cid 
GROUP By cname, ca.title
Run Code Online (Sandbox Code Playgroud)

我试图理解分区和排名的东西,但我没有走得太远.我正在使用ms sql

sql sql-server sql-server-2008

3
推荐指数
1
解决办法
2716
查看次数

如何使用Visual Studio安装项目检测依赖项并中止安装

我需要在使用visual studio 2010创建的安装程序安装和应用程序之前检测2个条件.

检测现有应用程序

我需要不允许安装应用程序,除非已经安装了另一个应用程序.例如,如果PC上未安装MS Office,则警告用户并中止安装.

检测GAC中安装的程序集

我还需要检查一下程序集是否在GAC中.检查GAC中是否有特定版本或更高版本是理想的.

我不想包含程序集或安装先决条件.我只需要验证它是否已安装,如果没有提醒用户并中止安装.

.net visual-studio-2010 visual-studio-setup

3
推荐指数
1
解决办法
1192
查看次数

在SQL Server中,在两个单独的日期列中拆分时间和日期是最佳做法?

在两个日期时间SQL列中拆分dateTime是最佳做法吗?

例如,2010-12-17 01:55:00.000分为两个列,

  • 一列包含日期部分的日期时间:2010-12-17 00:00:00.000
  • 一列包含时间部分的日期时间:1900-01-01 01:55:00.000

我被告知这是最好的做法,因为在某些时候SQL 2000不允许在约会时间?并且甚至存在强制执行此操作的数据存储标准,并且一些公司已确保以这种方式存储所有数据以符合某些数据存储标准?

如果是这种情况,我肯定有人在这听说过,这听起来很熟悉吗?

sql database sql-server database-design

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

用于比较历史记录表中列中当前值和上一个值的SQL查询

我有一个SQL Server 2008数据库,其中包含用于记录主表中更改的历史记录表.我需要报告'rate'列的当前(最新)值,以及与current不同的最新值.

所以,给出类似的东西:

id   | rate   | uninteresting | updated_on   | version
-----+--------+---------------+--------------+----------
123  | 1.20   | foo           | 2010-10-18   | 1500
456  | 2.10   | bar           | 2010-10-12   | 2123
123  | 1.20   | baz           | 2010-10-10   | 1499
123  | 1.10   | baz           | 2010-10-08   | 1498
456  | 2.00   | bar           | 2010-10-11   | 2122
123  | 1.00   | baz           | 2010-08-01   | 1497
456  | 2.00   | quux          | 2010-10-05   | 2121
456  | 1.95 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

只从字符串中取出数字并放入数组中

好的,我发现这是为了从字符串中删除所有不是数字的“垃圾”

TextIN = " 0 . 1 ,2 ; 3 4 -5 6 ,7 ,8; 9 "

string justNumbers = new String(textIN.Where(Char.IsDigit).ToArray());
Run Code Online (Sandbox Code Playgroud)

=“0123456789”

这从我的字符串中删除了所有“垃圾”,只留下数字,但我仍然可以修改它,所以我可以至少有一个分隔符,例如一个 ' , ' 在我的数字之间,如“0,1,2,3” ,4,5,6,7,8,9" 因为我需要分隔这个数字,所以我可以把它们放在一个整数数组中并使用它们,并且并不总是只有一位数字我可能有 105 、 85692 等..有什么帮助吗?!

c# string

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