Знатокам (My)SQL: имеется некий большой JOIN, вытаскивающий данные из нескольких сцеплённых таблиц (типа несколько обьектов, связанных many-to-many). Указанный запрос возвращает список IDs некоторых обьектов, согласно заданым отношениям, но в нём возможны повторения, а надо список без. Для того, чтобы повторения убрать, можно написать SELECT distinct table1.id и т.п. Но по некоторым причинам, в которые мы вдаваться не будем, это решение в данном случае не идеально. Можно написать subquery с IN и перетащить часть обьектов туда, но заботами разработчиков MySQL subqueries в нём работают так, что не к ночи будь помянуты. Так вот - есть ли ещё какой-то способ обеспечить уникальность, о котором я не подумал? (Обрабатывать на клиентской стороне не предлагать, это тоже, увы, не подходит по причинам... ну вы поняли).
no subject
no subject
group by
no subject
no subject
no subject
ну и таки HAVING, это такой финальный WHERE, который можно использовать после GROUP BY
no subject
no subject
Because DISTINCT may use GROUP BY ...
In most cases, a DISTINCT clause can be considered as a special case of GROUP BY. For example, the following two queries are equivalent ...
можно узнать чем DISTINCT вам не подходит и увидеть сам запрос ?
no subject
Ну и select a,b,c from sample_table group by a,b,c тоже работает.
no subject