抓取按 ID 分组的有序记录,其中该组的第一条记录 == 10
Grab ordered records grouped by ID where the first record of that group == 10
使用 W3 Schools SQL Server Query Tool 我删除内容并输入以下内容:
SELECT * FROM OrderDetails
ORDER BY ProductID, Quantity;
然后点击Run SQL
。它很好地按 ProductID
排序,然后在 ProductID
上进行决胜局 它按 Quantity
.
排序
这是我想做的。 table 按上面的顺序排列:我想 group
和 table 上的 ProductID
在一起,然后 return 只有那些 ProductID
每个组的 Quantity
金额的第一个记录是 == 10
。
我尝试过类似的方法,但它不起作用:
SELECT * FROM OrderDetails
ORDER BY ProductID, Quantity
Group By ProductID
Having first(Quantity == 10);
如果我没看错的话,您想要所有在 productId 订单中订购的最小数量为 10 的产品。
SELECT productId, min(quantity) as first FROM OrderDetails
group by productId
having first = 10
ORDER BY ProductID
编辑以回答下面的评论。
同样的逻辑也适用于字符串列。在此示例中,我向所有供应商展示第一个产品(按字母顺序列出的产品)以 C 开头(在 W3 查询工具中尝试)。如果我有任何重复字符串数据的数据,我可以做一个 =
.
SELECT supplierId, min(productName) as first from products
group by supplierId
having first like 'C%'
order by supplierId
使用 W3 Schools SQL Server Query Tool 我删除内容并输入以下内容:
SELECT * FROM OrderDetails
ORDER BY ProductID, Quantity;
然后点击Run SQL
。它很好地按 ProductID
排序,然后在 ProductID
上进行决胜局 它按 Quantity
.
这是我想做的。 table 按上面的顺序排列:我想 group
和 table 上的 ProductID
在一起,然后 return 只有那些 ProductID
每个组的 Quantity
金额的第一个记录是 == 10
。
我尝试过类似的方法,但它不起作用:
SELECT * FROM OrderDetails
ORDER BY ProductID, Quantity
Group By ProductID
Having first(Quantity == 10);
如果我没看错的话,您想要所有在 productId 订单中订购的最小数量为 10 的产品。
SELECT productId, min(quantity) as first FROM OrderDetails
group by productId
having first = 10
ORDER BY ProductID
编辑以回答下面的评论。
同样的逻辑也适用于字符串列。在此示例中,我向所有供应商展示第一个产品(按字母顺序列出的产品)以 C 开头(在 W3 查询工具中尝试)。如果我有任何重复字符串数据的数据,我可以做一个 =
.
SELECT supplierId, min(productName) as first from products
group by supplierId
having first like 'C%'
order by supplierId