我有表存储产品价格信息,表看起来类似,(不是主键)
no name price date
1 paper 1.99 3-23
2 paper 2.99 5-25
3 paper 1.99 5-29
4 orange 4.56 4-23
5 apple 3.43 3-11
Run Code Online (Sandbox Code Playgroud)
现在我想选择"name"字段在表格中多次出现的所有行.基本上,我希望我的查询返回前三行.
我试过了:
SELECT * FROM product_price_info GROUP BY name HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误说:
列"product_price_info.no"必须出现在GROUP BY子句中或用于聚合函数
我试图在SQL Server中的另一列上分组的两列上获取重复值的数量.
以下是我正在研究的示例场景.
DECLARE @mytable TABLE (CampName varchar(10),ID VARCHAR(10),ListName varchar(10))
INSERT INTO @mytable
( CampName, ID, ListName )
VALUES ( 'A', 'X', 'Y' ), ( 'A', 'X', 'Y' ),
( 'A', 'Y', 'Z' ), ( 'A', 'Y', 'Z' ),
( 'A', 'Y', 'Z' ), ( 'A', 'P', 'Q' ),
( 'B', 'X', 'Y' ), ( 'B', 'X', 'Y' ),
( 'B', 'Y', 'Z' ), ( 'B', 'Y', 'Z' ),
( 'B', 'Y', 'Z' ), ( 'B', 'P', 'Q' ),
( …Run Code Online (Sandbox Code Playgroud) 在我的构造函数内部,ContentPage我尝试设置一个依赖于平台的填充值:
Padding = new Thickness(5, Device.OnPlatform(20, 5, 5), 5, 5);
Run Code Online (Sandbox Code Playgroud)
Visual Studio下划线Device.OnPlatform,当我将鼠标指针悬停在方法调用上时,我收到以下警告:
Devide.OnPlatform(T,T,T)已过时:'使用开关(RuntimePlatform)代替'.
最初使用的代码是从电子书出版的2016年"与Xamarin.Forms书创建移动应用"我真的很惊讶,这个平台是如何快速的发展!
不幸的是,我不知道Device.OnPlatform应该如何使用警告建议的方式进行替换.
我最近安装了SQL Server 2017 Express和localdb(一般可用性).在尝试安装tSQLt框架时,我发现了SQL Server 2017中实现的新安全功能:"clr strict security"选项.这个新的安全功能似乎阻止了tSQLtCLR程序集的创建.SQL错误消息指出:
使用SAFE或EXTERNAL_ACCESS选项对程序集'tSQLtCLR'进行CREATE或ALTER ASSEMBLY失败,因为sp_configure的'clr strict security'选项设置为1. Microsoft建议您使用具有相应登录名的证书或非对称密钥对程序集进行签名UNSAFE ASSEMBLY许可.或者,您可以使用sp_add_trusted_assembly信任程序集.
我已经阅读了与sp_add_trusted_assembly过程相关的Microsoft技术文档,但它似乎假设您能够成功创建程序集.如果你不能首先创建它,那么如何将tSQLtCLR程序集编码为"受信任"?
我在用
TempData["hdn"] = "1";
Run Code Online (Sandbox Code Playgroud)
在控制器中如果我使用它
@{
var hdn = (string)TempData["hdn"];
}
Run Code Online (Sandbox Code Playgroud)
TempData["hdn"]在POST中获取null的View 值.如果我在视图中跳过此代码,它会在POST中持续存在.为什么会这样?
我正在使用Visual Studio 15.8.5与Sql Server数据工具15.1.
我创建了一个SQL Server数据库项目并导入了现有数据库的模式.我对数据库的几个表进行了一些小的更改,并将更新发布到开发数据库,没有任何问题.
在向项目添加一些SQL脚本之后,所有这些脚本都包含:
Build Action = None
Run Code Online (Sandbox Code Playgroud)
尽管没有对项目的任何数据库对象进行任何更改,但发布失败.
这是导致问题的自动生成的发布脚本的一部分:
/*
The table [lut].[KAE] is being dropped and re-created since all
non-computed columns within the table have been redefined.
*/
IF EXISTS (select top 1 1 from [lut].[KAE])
RAISERROR (N'Rows were detected. The schema update is terminating
because data loss might occur.', 16, 127) WITH NOWAIT
GO
Run Code Online (Sandbox Code Playgroud)
但是,表格[lut].[KAE]没有改变.其中一个脚本正在重新定义其架构,但这应该没有区别,因为这是一个'No Build'脚本.
我在这里做错了什么?
编辑:
@MadBert建议我做了架构比较.我最初使用我的实际数据库作为源和我的sql server visual studio项目作为目标.没有发现任何差异.
然后我切换源和目标数据库并再次进行比较.检测到以下"差异".
正如您所看到的,这不是实际差异,它看起来像是架构比较中的Visual Studio错误.关于如何规避这种行为的任何想法?
我有两张桌子
1. test 1
2. test 2
Run Code Online (Sandbox Code Playgroud)
第一张表有
**id** - **name**
1 - kerala
2 - Tamilnadu
Run Code Online (Sandbox Code Playgroud)
第二张桌子
**name** - **jid**
value 1 - 1
value 2 - 1
value 3 - 1
value 4 - 1
value 5 - 2
Run Code Online (Sandbox Code Playgroud)
我的查询 -
SELECT t1.name, t2.name
FROM test1 t1
INNER JOIN test2 t2
WHERE t1.id = t2.jid
Run Code Online (Sandbox Code Playgroud)
现在我得到了这个结果
**name** - **name**
Kerala - value 1
kerala - value 2
kerala - value 3
kerala - value 4
Run Code Online (Sandbox Code Playgroud)
但我需要这样的结果
Kerala …Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的ASP.NET核心应用程序连接到我的数据库.
为此,我应该编辑appsettings.json文件并定义我的默认连接.
我不确定在服务器和数据库下放什么.
我正在尝试连接数据库StudentDB.
这是我试图用来连接到我的数据库的字符串:
{
"ConnectionStrings": {
"DefaultConnection": "Server=ACTKPTP115;Database=StudentsDB;Trusted_Connection=True;MultipleActiveRes ultSets=true;"
},
Run Code Online (Sandbox Code Playgroud)
如您所见,我在Visual Studio中连接了数据库.
这是我试图在Microsoft SQL管理工作室中连接的数据库:
我在服务器和数据库下的ConnectionStrings中键入什么来正确连接我的服务器?
我每次尝试编译程序时都会收到此错误.
某些项目功能(例如失败项目的完整解决方案分析和依赖它的项目)已被禁用.
"XamlCTask"任务不支持"DebugType"参数.验证该任务上是否存在该参数,它是一个可设置的公共实例属性.
无法使用其输入参数初始化"XamlCTask"任务.
这是Xamarin的Android项目.
感谢大家提前.
MySQL的新版本8.0现在支持Common Table Expressions。
根据手册:
SELECT,UPDATE和DELETE语句的开头允许使用WITH子句:
WITH ... SELECT ...
WITH ... UPDATE ...
WITH ... DELETE ...
Run Code Online (Sandbox Code Playgroud)
因此,我认为,鉴于下表:
ID lastName firstName
----------------------
1 Smith Pat
2 Smith Pat
3 Smith Bob
Run Code Online (Sandbox Code Playgroud)
我可以使用以下查询:
;WITH ToDelete AS
(
SELECT ID,
ROW_NUMBER() OVER (PARTITION BY lastName, firstName ORDER BY ID) AS rn
FROM mytable
)
DELETE FROM ToDelete
Run Code Online (Sandbox Code Playgroud)
为了从表中删除重复项,就像在SQL Server中一样。
原来我错了。当我尝试DELETE从MySQL Workbench 执行stament时出现错误:
错误代码:1146。表“ todelete”不存在
当我尝试UPDATE使用CTE 时,还会收到一条错误消息。
因此,我的问题是,如何在MySQL WITH的UPDATEor DELETE语句的上下文中使用子句(如8.0版的手册中所述)?
mysql common-table-expression sql-update sql-delete mysql-8.0
sql-server ×4
mysql ×2
sql ×2
xamarin ×2
android ×1
asp.net ×1
asp.net-core ×1
c# ×1
join ×1
mysql-8.0 ×1
postgresql ×1
sql-delete ×1
sql-update ×1
sqlclr ×1
t-sql ×1
tempdata ×1
tsqlt ×1