|
Использование SQL_CALC_FOUND_ROWS одновременно с DISTINCT
|
|||
---|---|---|---|
#18+
Всем хорошего утра/дня/вечера или даже ночи. Есть у меня такой запрос: SELECT DISTINCT SQL_CALC_FOUND_ROWS SUBSTRING(color, 1, 4) as color FROM things WHERE color LIKE '$color%' AND size LIKE '$size%'; И сразу за ним: SELECT FOUND_ROWS(); для того, чтобы в итоге получить то кол-во записей, как если бы не было DISTINCT. Но к сожалению, после SELECT FOUND_ROWS() я получаю опять только список уникальных записей, а не ожидаемые мной все записи, удовлетворяющие WHERE. При поиске в яндексе и гугле не нашел точной информации, работает ли в принципе SQL_CALC_FOUND_ROWS совместно с DISTINCT. Поэтому прошу подсказки - как поправить/изменить запрос, чтобы получить в итоге как уникализированный список, так и неуникализированный. Я конечно же понимаю, можно убрать distinct из запроса и выполнить уникализацию массива результата выборки уже после запроса средствами php, например, с помощью функции array_unique(), однако по некоторым причинам этот способ мне не подходит, нужно решить поставленную задачу именно ресурсами sql ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 11:21 |
|
Использование SQL_CALC_FOUND_ROWS одновременно с DISTINCT
|
|||
---|---|---|---|
#18+
krechetok При поиске в яндексе и гугле не нашел точной информации, работает ли в принципе SQL_CALC_FOUND_ROWS совместно с DISTINCT. https://dev.mysql.com/doc/refman/8.0/en/select.html SQL_CALC_FOUND_ROWS tells MySQL to calculate how many rows there would be in the result set, disregarding any LIMIT clause.Про DISTINCT ничего нет, значит количество записей считается после DISTINCT-а. Да и проверить элементарно: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
https://www.db-fiddle.com/#&togetherjs=0g1w9ao9um ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 11:49 |
|
Использование SQL_CALC_FOUND_ROWS одновременно с DISTINCT
|
|||
---|---|---|---|
#18+
krechetok для того, чтобы в итоге получить то кол-во записей, как если бы не было DISTINCT ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2020, 11:50 |
|
|
start [/forum/topic.php?fid=47&fpage=19&tid=1828470]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 153ms |
0 / 0 |