Ответ 1
Если для заказа есть несколько строк, какую дату вы хотите показать? возможно:
SELECT [orderId], MAX([datetime])
FROM [table]
GROUP BY [orderId]
ORDER BY MAX([datetime]) DESC
Я хочу выбрать все отдельные order_ids из моей таблицы и заказать этот список по столбцу даты. Использование DISTINCT - это, конечно, параметр ширины запроса, поэтому попытка что-то вроде этого не работает:
SELECT DISTINCT(orderId, datetime)
FROM table
ORDER BY datetime DESC
Это возвращает все комбинации DISTINCT из orderId и datetime, поэтому я остался с несколькими orderIds, чего я не хочу. Поэтому я думаю, что предложение DISTINCT - это не путь. У кого-нибудь есть предложения по тому, как я могу решить эту проблему?
Спасибо!
Если для заказа есть несколько строк, какую дату вы хотите показать? возможно:
SELECT [orderId], MAX([datetime])
FROM [table]
GROUP BY [orderId]
ORDER BY MAX([datetime]) DESC
Если у вас несколько идентификаторов orderID в вашей таблице (и каждый из них имеет разные значения datetime), какой из них вы хотите выбрать? Самая новая дата, самая старая дата или что-то еще?
Возможно, CTE поможет:
WITH CTE
AS
(
SELECT orderId FROM table ORDER BY datetime DESC
)
SELECT DISTINCT orderId FROM CTE
SELECT DISTINCT * FROM
(SELECT value1
FROM table1
ORDER BY value2);
Это сработало для меня.