SQL Server 2008 новейший заказ от конкретного клиента - PullRequest
1 голос
/ 19 декабря 2011
SELECT OrdreID, KundeID, OrdreDato, Navn, Farve
FROM   Ordreliste
WHERE  Newest Order date By ????

Мне нужно получить самую новую дату заказа от конкретного клиента, но я совершенно пуст!

Ответы [ 3 ]

3 голосов
/ 19 декабря 2011

Чтобы предложить другую возможность:

SELECT TOP 1 OrdreID, KundeID, OrdreDato, Navn, Farve
FROM   Ordreliste
WHERE  KundeID = (your customer)
ORDER BY OrdreDato DESC

Если у клиента есть два заказа на одну и ту же дату, вы получите только один, но он может быть не последним.Если заказы вводятся последовательно, вы можете избежать этого, вместо этого заказывая по OrdreID DESC, который всегда должен быть уникальным.

1 голос
/ 19 декабря 2011

Чтобы получить самую последнюю дату для конкретного клиента, вы можете использовать агрегатную функцию MAX .

SELECT MAX(OrdreDato)
FROM   Ordreliste
WHERE  Customer = 'YourCustomer'

MAX
Возвращает максимальное значение в выражении.

0 голосов
/ 19 декабря 2011

Если вы хотите иметь список последних заказов для более чем 1 клиента (Пример: отображение даты последнего заказа для всех из определенной страны), вы можете использовать общее табличное выражение с функцией ранжирования:

;С CTE_Last_Orders AS (ВЫБРАТЬ ROW_NUMBER () OVER (PARTITION BY KundeID, ЗАКАЗАТЬ KundeID DESC) AS LastOrder, OrdreID, KundeID, OrdreDato, Navn, Farve ОТ Ordreliste, ГДЕ KundeID В (()) ВЫБРАТЬ КУРОЛЬД, ИЗБЕЖАТЬ ЗАПИСЬ, ПОСЛЕДОВАТЬСЯ, ПОЛУЧИЛСЯ, ПОРЯДОК ВЫБИРАЕТСЯ, ПОРЯДОК ВЫБИРАЕТСЯ, КУРО

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...