我想选择促销代码唯一的每条记录的第一行。我正在尝试创建一个样本表,在这个表中将是每个不同促销代码的一条记录(第一条记录)。我问过我所有的同事,他们通常手工查看数据并从中选择一个。问题是促销代码的数量每次都在增长,代码会发生变化。所以我想写一个查询,它将选择找到每个不同代码的第一条记录。所以我有这样的事情:
SELECT DISTINCT Customer.promo1 FROM Customer AS promo;
SELECT * FROM Customer, promo
WHERE Customer.promo1 = promo.promo1;
但这显然给了原始表。我在客户中有一个名为AutoID的ID字段。
提前致谢。
答案 0 :(得分:1)
我假设你想要第一个Customer.AutoId与每个Customer.Promo
相关联SELECT
c.*
FROM
Customer c
INNER JOIN
(
SELECT
c.promo1,
MIN(c.AutoID) AutoID
FROM
Customer c
GROUP BY
c.promo1) FirstCusomterWithPromo
ON c.AutoID = FirstCusomterWithPromo.AutoID
答案 1 :(得分:0)
类似的东西:
SELECT * FROM Customer
GROUP BY Customer.promo1