Получение последней записи, сгруппированной по идентификатору

Вот как я это делаю. Я добавил объяснение, чтобы понять, что происходит.

Инициализировать локальный репозиторий

  • сначала инициализировать Git с помощью git init
  • Добавить все файлы для управления версиями с помощью git add.
  • Создайте коммит с выбранным вами сообщением git commit -m 'AddingBaseCode' Инициализировать удаленный репозиторий
  • Создайте проект в Github и скопируйте URL-адрес проекта и скопируйте URL-адрес проекта , Ссылка Удаленное репо с локальным репо
  • Теперь используйте скопированный URL-адрес, чтобы связать локальное репо с удаленным репозиторией GitHub. Когда вы клонируете репозиторий с помощью git-клона, он автоматически создает удаленное соединение с именем origin, указывающее обратно в клонированный репозиторий. Пульт команд используется для управления набором отслеживаемых репозиториев. git remote add origin https://github.com/hiteshsahu/Hassium-Word.git Синхронизировать
  • Теперь нам нужно объединить локальный код с удаленным кодом. Этот шаг имеет решающее значение, в противном случае мы сможем получить код на Github. Вы должны называть «git pull» перед тем, как нажимать ваш код. git pull origin master --allow-unrelated-history Зафиксируйте свой код
  • Наконец нажмите все изменения в Github git push -u origin master

2
задан OnklMaps 16 January 2019 в 00:22
поделиться

3 ответа

Еще один вариант - использовать WITH TIES совместно с Row_Number()

Полное раскрытие: Ответ Вамси будет подталкивать к повышению производительности.

Пример

Select Top 1 with ties * 
 From  YourTable
 Order by Row_Number() over (Partition By ProductID Order by LastUpdate Desc)

Возвращает

ProductID   Quantity    LastUpdate
1           444         2019-01-02
2           222         2019-01-02
0
ответ дан John Cappelletti 16 January 2019 в 00:22
поделиться

Функция row_number () может быть наиболее эффективной, но большое замедление в вашем запросе заключается в использовании оператора IN при использовании в подзапросе, он немного сложнее, но объединение происходит быстрее. Этот запрос должен получить то, что вы хотите, и быть намного быстрее.

SELECT 
     a.ProductID
    ,a.Quantity 
FROM stock as a 
INNER JOIN (
            SELECT 
                 ProductID
                ,MAX(LastUpdate) as LastUpdate
            FROM stock 
            GROUP BY ProductID  
            ) b 
ON  a.ProductID = b.ProductId AND 
    a.LastUpdate = b.LastUpdate
0
ответ дан Radim Bača 16 January 2019 в 00:22
поделиться

Используйте аналитические функции. row_number можно использовать в этом случае.

SELECT ProductID, Quantity
FROM (SELECT ProductID, Quantity, row_number() over(partition by ProductID order by LstUpdte desc) as rnum
      FROM Stock
     ) s
WHERE RNUM = 1

Или с first_value .

SELECT DISTINCT ProductID, FIRST_VALUE(Quantity) OVER(partition by ProductID order by LstUpdte desc) as quantuity
FROM Stock
0
ответ дан Vamsi Prabhala 16 January 2019 в 00:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: