Совместное использование смежных массивов между процессами в Python

Из MySQL 8.0.0 и выше вы можете использовать оконные функции.

1.4 Что нового в MySQL 8.0 :

Функции окна ,

MySQL теперь поддерживает функции окна, которые для каждой строки из запроса выполняют вычисление с использованием строк, относящихся к этой строке. К ним относятся такие функции, как RANK (), LAG () и NTILE (). Кроме того, в качестве функций окна можно использовать несколько существующих совокупных функций; (g7) ROW_NUMBER () over_clause :

Возвращает номер текущего строка внутри своего раздела. Номера строк варьируются от 1 до количества строк раздела.

ORDER BY влияет на порядок, в котором строки нумеруются. Без ORDER BY нумерация строк является неопределенной.

blockquote>

Демо:

CREATE TABLE Table1(
  id INT AUTO_INCREMENT PRIMARY KEY, col1 INT,col2 INT, col3 TEXT);

INSERT INTO Table1(col1, col2, col3)
VALUES (1,1,'a'),(1,1,'b'),(1,1,'c'),
       (2,1,'x'),(2,1,'y'),(2,2,'z');

SELECT 
    col1, col2,col3,
    ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col3 DESC) AS intRow
FROM Table1;

DBFiddle Demo

21
задан eriophora 1 July 2015 в 20:47
поделиться