MySQL: применить запрос GROUP BY ко всей таблице

Вы не можете этого сделать, поскольку индекс массива в java начинается с 0. Но вы можете получить доступ к массиву с индексом 1 с небольшими изменениями.

Пример: Рассмотрим целочисленный массив «a» с длиной n

    for(int i=0;i<n;i++) {
    System.out.println(a[i]);

}

Это может быть изменено как:

    int a[] = new int[n+1];
    for(int i=1;i<n+1;i++) {
        System.out.println(a[i]);
    }
0
задан bebe03 17 January 2019 в 02:12
поделиться

3 ответа

Соедините две таблицы и сгруппируйте их по столбцам.

SELECT cr.register_id, cr.number, COUNT(*) AS cnt
FROM tbl_cross AS cr
JOIN tbl_register as r ON cr.register_id = r.id
WHERE r.collection_id = 56
GROUP BY register_id, number
HAVING cnt > 1

Вы можете использовать HAVING для фильтрации недубликатов, подзапрос вам не нужен.

0
ответ дан Barmar 17 January 2019 в 02:12
поделиться

Вы прямо спрашиваете об утверждении GROUP BY. Вы хотите, чтобы ваш register_id был сгруппирован так, чтобы у вас не было дубликатов, но вы также могли видеть номер каждого зарегистрированного идентификатора.

Технология в сети - фантастический справочник для всех ваших вопросов по SQL: https://www.techonthenet.com/sql/group_by.php

Всего наилучшего и добро пожаловать в Stackoverflow !!

0
ответ дан Sweet Chilly Philly 17 January 2019 в 02:12
поделиться

Я верю, что вы ищете что-то вроде этого:

SELECT *
FROM (
    SELECT
        reg.id,
        reg.collection_id,
        cr.number,
        COUNT(*) AS ct
    FROM tbl_registers AS reg
    INNER JOIN tbl_cross AS cr
        ON cr.register_id = reg.id
    GROUP BY
        reg.id,
        reg.collection_id,
        cr.number
) duplicates
WHERE duplicates.ct > 1
-- AND duplicates.collection_id = 56
0
ответ дан e_i_pi 17 January 2019 в 02:12
поделиться
Другие вопросы по тегам:

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