小编Din*_*hDB的帖子

如何在订购后限制Oracle查询返回的行数?

有没有办法让Oracle查询表现得像包含一个MySQL limit子句?

MySQL,我可以这样做:

select * 
from sometable
order by name
limit 20,10
Run Code Online (Sandbox Code Playgroud)

获得第21行到第30行(跳过前20行,给出下一行10).在行之后选择行order by,因此它实际上按字母顺序从第20个名称开始.

Oracle,人们提到的唯一的事情是rownum伪列,但它之前 进行了评估order by,这意味着:

select * 
from sometable
where rownum <= 10
order by name
Run Code Online (Sandbox Code Playgroud)

将返回按名称排序的十行的随机集合,这通常不是我想要的.它也不允许指定偏移量.

sql oracle pagination limit

966
推荐指数
10
解决办法
134万
查看次数

在多列上使用group by

我明白了这一点 GROUP BY x

但是如何GROUP BY x, y工作,这是什么意思?

sql group-by

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

检索每个组中的最后一条记录 - MySQL

有一个表messages包含如下所示的数据:

Id   Name   Other_Columns
-------------------------
1    A       A_data_1
2    A       A_data_2
3    A       A_data_3
4    B       B_data_1
5    B       B_data_2
6    C       C_data_1
Run Code Online (Sandbox Code Playgroud)

如果我运行查询select * from messages group by name,我会得到如下结果:

1    A       A_data_1
4    B       B_data_1
6    C       C_data_1
Run Code Online (Sandbox Code Playgroud)

什么查询将返回以下结果?

3    A       A_data_3
5    B       B_data_2
6    C       C_data_1
Run Code Online (Sandbox Code Playgroud)

也就是说,应返回每组中的最后一条记录.

目前,这是我使用的查询:

SELECT
  *
FROM (SELECT
  *
FROM messages
ORDER BY id DESC) AS x
GROUP BY name
Run Code Online (Sandbox Code Playgroud)

但这看起来非常低效.还有其他方法可以达到相同的效果吗?

mysql sql group-by greatest-n-per-group

887
推荐指数
17
解决办法
58万
查看次数

基于ID匹配从一个表到另一个表的SQL更新

我有一个带account numbers和的数据库card numbers.我将这些文件与update任何卡号匹配到帐号,以便我只使用帐号.

我创建了一个视图链接表和帐户/卡数据库以返回Table ID相关的帐号,现在我需要更新ID与帐号匹配的记录.

这是Sales_Import表,account number需要更新字段:

LeadID  AccountNumber
147         5807811235
150         5807811326
185         7006100100007267039
Run Code Online (Sandbox Code Playgroud)

这是RetrieveAccountNumber表,我需要更新:

LeadID  AccountNumber
147         7006100100007266957
150         7006100100007267039
Run Code Online (Sandbox Code Playgroud)

我试过以下,但到目前为止没有运气:

UPDATE [Sales_Lead].[dbo].[Sales_Import] 
SET    [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber 
                          FROM   RetrieveAccountNumber 
                          WHERE  [Sales_Lead].[dbo].[Sales_Import]. LeadID = 
                                                RetrieveAccountNumber.LeadID) 
Run Code Online (Sandbox Code Playgroud)

它将卡号更新为帐号,但帐号被替换为 NULL

sql sql-server select join sql-update

885
推荐指数
18
解决办法
167万
查看次数

我应该使用!=或<>在T-SQL中不相等吗?

我已经看到了SQL同时使用!=,并<>不相等.什么是首选语法,为什么?

我喜欢!=,因为<>让我想起Visual Basic.

sql t-sql sql-server

780
推荐指数
11
解决办法
102万
查看次数

如何通过SQL中的另一列选择MAX(列值),DISTINCT的行?

我的表是:

id  home  datetime     player   resource
---|-----|------------|--------|---------
1  | 10  | 04/03/2009 | john   | 399 
2  | 11  | 04/03/2009 | juliet | 244
5  | 12  | 04/03/2009 | borat  | 555
3  | 10  | 03/03/2009 | john   | 300
4  | 11  | 03/03/2009 | juliet | 200
6  | 12  | 03/03/2009 | borat  | 500
7  | 13  | 24/12/2008 | borat  | 600
8  | 13  | 01/01/2009 | borat  | 700
Run Code Online (Sandbox Code Playgroud)

我需要选择每个不同的 …

mysql sql max distinct greatest-n-per-group

727
推荐指数
13
解决办法
142万
查看次数

Count(*)vs Count(1) - SQL Server

只是想知道你们中的任何一个人是否Count(1)过度使用过Count(*),如果性能有显着差异,或者这只是从过去几天带来的遗留习惯?

(具体数据库是SQL Server 2005.)

sql sql-server performance

699
推荐指数
11
解决办法
36万
查看次数

SQL Server Management Studio 2012中的自动增量主键

我如何auto incrementprimary key一个SQL Server数据库表,我已经通过论坛看看,但不能看到.

我查看了属性,但看不到一个选项,我看到了一个答案,你去了Identity规范属性并将其设置为是并设置Identity increment为1,但该部分显示为灰色,我无法更改不,是的.

必须有一个简单的方法来做到这一点,但我找不到它.

sql-server identity sql-server-2012

416
推荐指数
7
解决办法
104万
查看次数

删除除MySQL中的One之外的所有重复行?

可能重复:
删除MySQL中的重复行

如何从MySQL表中删除所有重复数据?

例如,使用以下数据:

SELECT * FROM names;

+----+--------+
| id | name   |
+----+--------+
| 1  | google |
| 2  | yahoo  |
| 3  | msn    |
| 4  | google |
| 5  | google |
| 6  | yahoo  |
+----+--------+
Run Code Online (Sandbox Code Playgroud)

我会使用,SELECT DISTINCT name FROM names;如果它是一个SELECT查询.

我怎么做DELETE才能删除重复项并保留每个重复记录?

mysql sql duplicates

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

如何替换SQL Server表列中的字符串

我有一个SQL Sever引用路径(UNC或其他)的table(),但现在路径将会改变.

在路径列中,我有很多记录,我需要更改路径的一部分,而不是整个路径.我需要在每条记录中将相同的字符串更改为新字符串.

我怎么能用简单的方法做到这一点update

sql database sql-server database-administration

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