SQL: Есть ли способ отсортировать список строк в таблице по числовой стоимости без добавления нового столбца? - PullRequest
0 голосов
/ 10 июня 2019

Я хочу упорядочить список строк в таблице без добавления нового столбца в таблицу, чтобы столбец не изменялся.Новый список, который я хочу заказать численно, основан на некоторых ограничениях, которые я установил для выбранных данных.

Пример:

Номер Название Год

1        Movie      2016
2        Movie      1983
3        Movie      2000

и т. Д..

Я пытался использовать ORDER BY, но для этого должен быть новый столбец, чтобы упорядочить его.Кто-нибудь может мне с этим помочь?Спасибо.

Редактировать # 1: Если неясно, я хочу добавить числа 1, 2, 3 и т. Д. (Число, увеличивающееся численно для каждого фильма) без добавления нового столбца в таблицу.

Редактировать # 2: Я использую жабу в качестве базы данных.Извините за отсутствие ясности, это один из моих первых вопросов.Спасибо!

Ответы [ 3 ]

0 голосов
/ 10 июня 2019

Если проблема в том, что вы не хотите добавлять этот столбец в существующую таблицу, рассматривали ли вы возможность импорта данных во временную таблицу и присвоения какого-либо индекса?

    //Add this to drop the table in case it already exists
    IF(OBJECT_ID('TEMPDB..#TEMP_TABLE') IS NOT NULL)
    BEGIN 
           DROP TABLE #TEMP_TABLE
    END

    DECLARE @NUMBER INT = 0
    SELECT TITLE, YEAR, @NUMBER AS [KEY] INTO #TEMP_TABLE FROM YOUR_TABLE

    UPDATE #TEMP_TABLE 
    SET @NUMBER = @NUMBER + 1,
    [KEY] = [KEY] + @NUMBER

    SELECT * FROM #TEMP_TABLE
0 голосов
/ 11 июня 2019

Я нашел ответ, мне просто нужно использовать COUNT (). Спасибо за ваш вклад.

0 голосов
/ 10 июня 2019

В sqlserver вы можете использовать

 select  ROW_NUMBER() OVER() , title, year  
 from my_table 

в MySQL вы можете добавить номер строки таким образом

set @row = 0;
select @row := @row+1, title, year  
from your_table

В Oracle вы можете использовать rownum

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