Да, это просто конкатенация. Это простой способ эмулировать подсчет различных кортежей (x, y)
, который невозможен при COUNT(DISTINCT ..)
в Oracle.
В зависимости от набора данных, он имеет недостаток, поскольку возвращает неверный результат на следующий набор данных
SELECT count(DISTINCT x || y)
FROM (
SELECT 'a' x, 'bc' y FROM dual
UNION ALL
SELECT 'ab' x, 'c' y FROM dual
) t