我想更新SQL Server中的前100条记录.我有一个表T1包含字段F1和F2.T1有200条记录.我想更新F1前100条记录中的字段.如何TOP 100在SQL Server中进行更新?
我有兴趣学习一些(理想情况下)数据库无关的方法来从数据库表中选择第n行.看看如何使用以下数据库的本机功能实现这一目标也很有趣:
我目前正在SQL Server 2005中执行类似下面的操作,但我有兴趣看到其他更不可知的方法:
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT *
FROM Ordered
WHERE RowNumber = 1000000
Run Code Online (Sandbox Code Playgroud)
感谢上述SQL:Firoz Ansari的Weblog
更新:请参阅Troels Arvin关于SQL标准的答案.Troels,您有任何我们能引用的链接吗?
我试图从一个表中选择一些字段并将它们从存储过程插入到现有表中.这是我正在尝试的:
SELECT col1, col2
INTO dbo.TableTwo
FROM dbo.TableOne
WHERE col3 LIKE @search_key
Run Code Online (Sandbox Code Playgroud)
我认为select into是临时表,这就是为什么我得到一个SELECT ... INTO ...已经存在的错误.
我怎样才能插入多行dbo.TableTwo成dbo.TableOne?
在Hibernate中是否可以使用实际值而不是问号来打印生成的SQL查询?
如果使用Hibernate API无法打印具有实际值的查询,您会建议如何?
我希望INSERT在Java中使用JDBC中的数据库(在我的情况下是Microsoft SQL Server)中的记录.同时,我想获取插入ID.如何使用JDBC API实现此目的?
我知道你可以一次插入多行,有没有办法在MySQL中一次更新多行(如在一个查询中)?
编辑:例如我有以下内容
Name id Col1 Col2
Row1 1 6 1
Row2 2 2 3
Row3 3 9 5
Row4 4 16 8
Run Code Online (Sandbox Code Playgroud)
我想将以下所有更新组合到一个查询中
UPDATE table SET Col1 = 1 WHERE id = 1;
UPDATE table SET Col1 = 2 WHERE id = 2;
UPDATE table SET Col2 = 3 WHERE id = 3;
UPDATE table SET Col1 = 10 WHERE id = 4;
UPDATE table SET Col2 = 12 WHERE id = 4;
Run Code Online (Sandbox Code Playgroud) 是否可以指定条件Count()?我想只计算在Position列中有"Manager"的行.
我想在count语句中这样做,而不是使用WHERE; 我问的是因为我需要同时统计管理者和其他人SELECT(在这个例子中,对我来说Count(Position = Manager), Count(Position = Other))这样的事情WHERE是没用的.
有人可以帮助我理解为什么以下不起作用?
SELECT name FROM (SELECT name FROM agentinformation)
Run Code Online (Sandbox Code Playgroud)
我想我对SQL的理解是错误的,因为我会认为这会返回相同的东西
SELECT name FROM agentinformation
Run Code Online (Sandbox Code Playgroud)
内部select语句是否创建了外部SELECT语句然后查询的结果集?
我正在寻找一种有效的方法将行转换为SQL服务器中的列,我听说PIVOT不是很快,我需要处理大量的记录.
这是我的例子:
-------------------------------
| Id | Value | ColumnName |
-------------------------------
| 1 | John | FirstName |
| 2 | 2.4 | Amount |
| 3 | ZH1E4A | PostalCode |
| 4 | Fork | LastName |
| 5 | 857685 | AccountNumber |
-------------------------------
Run Code Online (Sandbox Code Playgroud)
这是我的结果:
---------------------------------------------------------------------
| FirstName |Amount| PostalCode | LastName | AccountNumber |
---------------------------------------------------------------------
| John | 2.4 | ZH1E4A | Fork | 857685 |
---------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我该如何建立结果?
以下查询:
SELECT
year, id, rate
FROM h
WHERE year BETWEEN 2000 AND 2009
AND id IN (SELECT rid FROM table2)
GROUP BY id, year
ORDER BY id, rate DESC
Run Code Online (Sandbox Code Playgroud)
收益率:
year id rate
2006 p01 8
2003 p01 7.4
2008 p01 6.8
2001 p01 5.9
2007 p01 5.3
2009 p01 4.4
2002 p01 3.9
2004 p01 3.5
2005 p01 2.1
2000 p01 0.8
2001 p02 12.5
2004 p02 12.4
2002 p02 12.2
2003 p02 10.3
2000 p02 8.7
2006 p02 …Run Code Online (Sandbox Code Playgroud)