我的存储过程中有以下内容,可以从具有中立阵营的玩家名称中检索唯一的记录:
SELECT
COUNT(DISTINCT Name) into @neutcount
FROM
dim5players
WHERE
Faction ='Neutral';
UPDATE dim5stats
SET Value = @neutcount
WHERE
Function = 'Neutral';
这工作找到和花花公子。问题是,我也有一个名为日期的字段。
我希望选择在计数中列出的记录的最新日期,而不是从唯一的“名称”记录中选择随机记
在我的web应用程序中,我允许用户通过iframe创建存储在临时表中的记录,然后允许他们克隆/复制刚刚创建的相同记录,但克隆记录中的三个字段将替换为需要更改的虚拟值。
为了进一步说明,假设用户最初创建了以下记录:
record 1: F1:A F2:B F3:C F4: System One F5: Active
然后,用户可以克隆记录1,然后按如下方式创建该记录:
record 2: F1:A_COPY F2:B_COPY F3:C_COPY F4: System One F5: Active
因此,基于记录2,即克隆的记录,我现在需要确保并强制用户必须将包含字符串"_COPY“的前
例如,给定以下表格
id |类别
1| 10
2| 10
3| 10
4| 10
5| 20
6| 20
7| 20
8| 30
9| 30
10 | 30
11 | 30
我们想要从每个类别中获得前两个小id,也就是我们需要这个结果
1
2
5
6
8
9
我写了这个问题和他的作品
SELECT MIN(id) AS id FROM mytable GROUP BY category
UNION
SELECT MIN(id) AS id FROM mytable WHERE
id NOT IN (SELECT MIN(i
下面的语句检索Server中每个组中的前2条记录。但是,正如您所看到的,它的工作原理是正确的,但它根本不缩放。我的意思是,如果我想检索前5或10条记录,而不是仅仅2条,您可以看到这个查询语句是如何快速增长的。
如何将此查询转换为返回相同记录的内容,但我可以将其快速更改为返回每个组中的前5或10条记录,而不是仅返回2条记录?(也就是说,我只想告诉它返回每个组中的前5位,而不是按照下面的格式有5个工会)。
谢谢!
WITH tSub
as (SELECT CustomerID,
TransactionTypeID,
M
我有以下查询,它选择每个类别的前3条记录。目前,它将记录限制为9,但是,这是不正确的,因为如果我将数字限制为8,最后一个子类别将失去一个显示记录。
我想限制每一个SubCategories查询数量的记录,即3个子类别,只有他们的前3产品。
我的情况如下:
SELECT TOP 9 *
FROM tProduct p
WHERE p.ProductID IN (
SELECT TOP 3 ProductID
FROM tProduct PP
WHERE pp.SubCategoryID = p.SubCategoryID
)
ORDER BY SubCatego