Как сортировать записи, кроме первой записи в SQL

#sql

#sql

Вопрос:

 Current product  TempAnn      SrNo
-----------------------------------
Current Product  0.00         1
Match            20.96        2
Match            26.96        3
Current Product  0.00         1
Match            4.76         3
Match            5.76         2
Current Product  0.00         1
Match            32.40        3
Match            35.40        2
Current Product  0.00         1
Match            20.96        2
Match            2.96         3
Current Product  0.00         1
Match            29.76        2
Match            30.68        4
Match            24.04        3
Current Product  0.00         1
Match            16.92        3
Match            13.56        4
Match            22.64        2
  

Необходимо отсортировать каждый текущий продукт, где SrNo <> 1 . Например, первый текущий продукт, за исключением SrNo 1, 2 и 3, должен быть отсортирован вместе, чтобы сначала он показывал 26,96, а затем 20,96.

Комментарии:

1. я не могу правильно отобразить мои записи, имеющие трехколоночный текущий продукт с временным значением srno.

2. Ваши последние два набора результатов, похоже, не отсортированы каким-либо образом, насколько я могу видеть. Это то, что у вас выше желаемого результата?

Ответ №1:

 SELECT * FROM table ORDER BY SrNO=1 ASC, TempAnn DESC
  

Комментарии:

1. Привет, у меня есть еще одно требование, поскольку я хочу, чтобы, кроме SrNo 1, остальные записи сортировались таким образом, чтобы максимальное значение всегда указывалось на месте SrNo 2. Пожалуйста, помогите.

Ответ №2:

Не уверен, что это возможно, я думаю, вам обязательно понадобится другой столбец:

 Current product  TempAnn      SrNo    tempCol
---------------------------------------------
Current Product  0.00         1         1
Match            20.96        2         1
Match            26.96        3         1
Current Product  0.00         1         2
Match            4.76         3         2
Match            5.76         2         2
Current Product  0.00         1         3
Match            32.40        3         3
Match            35.40        2         3
Current Product  0.00         1         4
Match            20.96        2         4
Match            2.96         3         4
Current Product  0.00         1         5
Match            29.76        2         5
Match            30.68        4         5
Match            24.04        3         5
Current Product  0.00         1         6
Match            16.92        3         6
Match            13.56        4         6
Match            22.64        2         6
  

Таким образом, вы используете правильный порядок

 SELECT *
From table
ORDER tempCol, TempAnn
  

Редактировать :

  SELECT *
    From table
    ORDER tempCol, SrNo = 1,  TempAnn Desc
  

Комментарии:

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

2. Нет, это другое требование.