Я создал базу данных SQL Server, и есть таблица «СТОИМОСТЬ ПРОДУКТОВ» (> 600 000 строк). Я должен сделать запрос, который показывает, какие продукты изменили цену. Как вы можете видеть ниже: 1,2,3 строки, потому что 1-й положительный и 2-й отрицательный; 3-й позитив. Насколько я понимаю, я должен создать дополнительную таблицу и проверить, используя внутреннее соединение, или использовать функцию Lag/Lead.Чередование положительных и отрицательных чисел
Кто знает, что является лучшим способом сделать это?
ID | COST | CHANGE
1 | 450 | 1,4
2 | 350 | -0,8
3 | 470 | 1,2
4 | 550 | 1,3
Пожалуйста, измените свой вопрос и добавить данные * в вопрос * в формате таблицы. –
Добро пожаловать в переполнение стека. Вскоре прочитайте страницу [О программе]. Я понимаю, что английский - это не ваш родной язык, но ваш вопрос еще не ясен. В столбце «change» у вас есть цифры с запятой; эта запятая указывает десятичную точку в вашей локали? Является ли это число абсолютным изменением или процентным изменением? Столбец затрат является целым числом или значением с плавающей запятой? Вам нужно показать «какие продукты изменили цену». Я не совсем понимаю, что вы имеете в виду. Это все продукты с ненулевым значением в столбце «Изменить»? _ [... продолжение ...] _ –
_ [... продолжение ...] _ Вы запрашиваете переменные положительные и отрицательные числа; но неясно, какие числа чередуются, и что вы должны делать, если есть 350 000 строк с положительным изменением и 250 000 строк с отрицательным изменением. Кроме того, чередование зависит от последовательности, т. Е. Результаты запроса представляют собой набор строк, а наборы не упорядочены. Чтобы навязать «переменное» требование, вы должны заказать результаты (ORDER BY в SQL). Но что вы сортируете? Таким образом, вам нужно уточнить, что вы пытаетесь сделать несколькими способами, прежде чем мы сможем вам помочь. –