小编Vam*_*ala的帖子

跨多列进行不同计数 (Vertica SQL)

检查了其他问题没有得到明确的答案。我看到一个使用 MySQL 的简单答案,但它在 Vertica 中不起作用。是否有一种有效的方法来计算跨多个列的 vertica SQL 中的不同值。

例如,我知道在 MySQL 中你可以做这样的事情:

SELECT l.computer, l.user, COUNT(DISTINCT l.computer, l.user) AS count
FROM login l 
GROUP BY l.computer, l.user
Run Code Online (Sandbox Code Playgroud)

vertica 中是否有类似的语法?

谢谢,本

sql count distinct vertica

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

在sqlite中找到最长的条纹

请帮助我获取条纹数据。我有目标成就表

表测试

dt

2017-01-01
2017-01-02
2017-01-03. //3 days end of streak
2017-02-10 // 1 day
2017-02-15
2017-02-16
2017-02-17
2017-02-18 //4 days
Run Code Online (Sandbox Code Playgroud)

我在MySQL中尝试过

Select dt, (select count(*) from test as t1 where t1.dt < t2.dt and datediff(t2.dt,t1.dt) =1) as str 
from test as t2
Run Code Online (Sandbox Code Playgroud)

并得到

Dt         str
2017-01-01  0
2017-01-02  1
2017-01-03  2
2017-02-10  0
2017-02-15  0
2017-02-16  1
2017-02-17  2
2017-02-18  3
Run Code Online (Sandbox Code Playgroud)

是否有可能得到这样的东西

Dt.        Str 
2017-01-03  3
2017-02-10  1
2017-02-18  4
Run Code Online (Sandbox Code Playgroud)

并获得最大收益?

sql sqlite

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

oracle case语句返回多个字符

您好,请更正我的查询


select * from table S1
WHERE  S1.stu ='12345'
AND S1.sem = (Select Case When col2 > col4 Then col2 Else col4 End From table2)
And S1.met1 in  (case when (S1.sem = 1) then ('1', 'D', 'F' )
                      when (S1.sem = 2) then ('1', '5', '7',  )
                      when (S1.sem = 3) then ('1',  'D', 'F' )
                      else s1.sem end);
Run Code Online (Sandbox Code Playgroud)

因为与表结合而应该使用case.我明白了

错误:缺少关键字

对于此查询

sql oracle case

0
推荐指数
1
解决办法
47
查看次数

ROUND函数和算术溢出

在MS SQL Server中,如果我

SELECT ROUND(9.4, 0), ROUND(8.6, 0), ROUND(10.6, 0)
Run Code Online (Sandbox Code Playgroud)

我不出所料得到:

9.0 9.0 11.0
Run Code Online (Sandbox Code Playgroud)

但如果我这样做

SELECT ROUND(9.6, 0)
Run Code Online (Sandbox Code Playgroud)

我明白了:

消息8115,级别16,状态2,行1算术溢出错误将表达式转换为数据类型数字.

我知道我可以CAST(9.6 as DECIMAL(10,0)),但这里发生了什么?

TIA

sql sql-server rounding

0
推荐指数
1
解决办法
1881
查看次数

使用记录在现有表上的表列上创建唯一约束

是否可以在带有记录的现有表上的表列上创建唯一约束?

ALTER TABLE Persons ADD UNIQUE (P_Id)
Run Code Online (Sandbox Code Playgroud)

如果表中有数据并且其中的某些数据P_Id不是唯一的,会发生什么情况?

sql database oracle ddl oracle11g

-1
推荐指数
1
解决办法
6409
查看次数

如何将日期转换为YYYYMMDD?

我有两个表有两种不同的日期格式,我需要比较它们.我正在尝试转换字段Q_RATE_DATE; 如何从改变'27-JUN-12'20120627

我试过了:

TO_DATE(Q_RATE_DATE, 'DD-MON-YY', 'YYYYMMDD') 
Run Code Online (Sandbox Code Playgroud)

没有运气,我做错了什么?

sql oracle date

-1
推荐指数
1
解决办法
91
查看次数

SQL选择重复ID的最高值

我有一个包含列的 SQL 表:

ID,        DayNumber, Mfm, value
432080971, 1,         15,  57
432080971, 1,         15,  59
432080978, 3,         15,  54
432080978, 4,         45,  54
Run Code Online (Sandbox Code Playgroud)

不幸的是,有一些重复的条目。我想要的是一个选择语句,它返回没有重复 ID、Daynumber 和 Mfm 的表,以及如果有双重条目来选择具有更高值的行。

因此,作为示例,上述条目将返回为:

ID,        DayNumber, Mfm, value
432080971, 1,         15,  59
432080978, 3,         15,  54
432080978, 4,         45,  54
Run Code Online (Sandbox Code Playgroud)

我正在使用运行 sql server 2012 的 sql server management studio

sql sql-server

-1
推荐指数
1
解决办法
9886
查看次数

标签 统计

sql ×7

oracle ×3

sql-server ×2

case ×1

count ×1

database ×1

date ×1

ddl ×1

distinct ×1

oracle11g ×1

rounding ×1

sqlite ×1

vertica ×1