Найти наименее часто встречающееся значение в sql - PullRequest
0 голосов
/ 09 мая 2019

Я создал таблицу с именем organizacija_akcije, и в ней есть столбец с именем drustva_idDrustva, теперь мне нужно найти значение drustva_iddrustva, которое встречается наименьшее количество раз, и я должен был сделать это без LIMIT, только с having или having count.

Я пробовал этот код, но он не возвращает мне наименьшее количество вхождений, а все вхождения, и я застрял и не знаю, как получить наименьшее количество сейчас.

SET SQL_SAFE_UPDATES = 0;
SELECT `Drustva_idDrustva`,
       COUNT(`Drustva_idDrustva`) AS `value_occurrence` 
  FROM `organizacija_akcije`
 group by Drustva_idDrustva
HAVING (value_occurrence) > 0;

1 Ответ

2 голосов
/ 09 мая 2019

Чтобы найти Drustva_idDrustva с наименьшим вхождением, вы можете использовать HAVING и ALL

SELECT Drustva_idDrustva,
    COUNT(Drustva_idDrustva) AS value_occurrence
FROM organizacija_akcije
GROUP BY Drustva_idDrustva
HAVING COUNT(value_occurrence) <= ALL(
    SELECT COUNT(Drustva_idDrustva)
    FROM organizacija_akcije
    GROUP BY Drustva_idDrustva
)

Следовательно, он возвращает те Drustva_idDrustva, где их count(value_occurrence) меньше или равно всем count(value_occurrence) агрегатам.

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