我有一堆产品订单,我正在尝试按日期分组并总结该日期的数量.如何在不考虑时间的情况下按月/日/年进行分组?
3/8/2010 7:42:00 应该与...分组 3/8/2010 4:15:00
为了说明,假设我有两个表如下:
VehicleID Name
1 Chuck
2 Larry
LocationID VehicleID City
1 1 New York
2 1 Seattle
3 1 Vancouver
4 2 Los Angeles
5 2 Houston
Run Code Online (Sandbox Code Playgroud)
我想写一个查询来返回以下结果:
VehicleID Name Locations
1 Chuck New York, Seattle, Vancouver
2 Larry Los Angeles, Houston
Run Code Online (Sandbox Code Playgroud)
我知道这可以使用服务器端游标完成,即:
DECLARE @VehicleID int
DECLARE @VehicleName varchar(100)
DECLARE @LocationCity varchar(100)
DECLARE @Locations varchar(4000)
DECLARE @Results TABLE
(
VehicleID int
Name varchar(100)
Locations varchar(4000)
)
DECLARE VehiclesCursor CURSOR FOR
SELECT
[VehicleID]
, [Name]
FROM [Vehicles]
OPEN VehiclesCursor
FETCH NEXT …Run Code Online (Sandbox Code Playgroud) 我想真正的问题是:
如果我不关心脏读,将添加with(NOLOCK)提示到SELECT语句会影响性能:
例:
Select *
from aTable with (NOLOCK)
Run Code Online (Sandbox Code Playgroud) 有没有办法列出当前在MS SQL Server上运行的查询(通过企业管理器或SQL)和/或谁连接?
我想我有一个很长时间运行的查询正在我的一个数据库服务器上执行,我想跟踪它并停止它(或者一直在启动它的人).
最近几天我们在网站上看到这条错误消息:
"超时已到期.在从池中获取连接之前已经过了超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小."
我们的代码暂时没有改变任何内容.我修改了代码以检查未关闭的打开连接,但发现一切都很好.
我怎么解决这个问题?
我需要编辑此池吗?
如何编辑此池的最大连接数?
高流量网站的推荐值是多少?
我需要在IIS中编辑某些内容吗?
我发现活动连接的数量在15到31之间,我发现在SQL Server中配置的最大允许连接数超过3200个连接,31个太多,或者我应该在ASP.NET配置中编辑一些东西?
我认为这将是微不足道的,但它不是......我确信有一种简单的方法可以做到,但我无法找到它.对我感到羞耻.
我想导入/导出数据库本身,表,约束(外键等).我宁愿不用它来获取数据,但如果没有别的办法,我可以摆脱它.
那么......你如何使用MS SQL Server Management Studio导出数据库?你怎么导入它?
我发现的唯一解决方案是右键单击表格和"脚本创建",但我有100个表格,所以我宁愿避免这种情况.
谢谢!
我有SQL Server数据库,我才意识到我可以将其中一个列的类型更改int为bool.
如何在不丢失已输入该表的数据的情况下执行此操作?
是否可以在MS SQL中的WHERE子句中使用IF子句?
例:
WHERE
IF IsNumeric(@OrderNumber) = 1
OrderNumber = @OrderNumber
ELSE
OrderNumber LIKE '%' + @OrderNumber + '%'
Run Code Online (Sandbox Code Playgroud) 我正在使用Windows Vista,但我无法使用新创建的用户登录.
我收到一个错误:
Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456"
with Severity = 14 and State = 1.
Run Code Online (Sandbox Code Playgroud)
导致此错误的原因是什么?如何使用我的用户登录?
我有一个非常基本的UPDATE SQL-
UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101;
Run Code Online (Sandbox Code Playgroud)
该查询中运行良好Oracle,Derby,MySQL-但它在SQL Server 2008中失败
与以下错误:
"Msg 102,Level 15,State 1,Line 1'Q'附近的语法不正确."
如果我从SQL中删除所有出现的别名"Q",那么它可以正常工作.
但我需要使用别名.