Використання; COUNT () у cygenc join - OpenClassrooms

Питання ? Не хвилюйтеся, ми допоможемо вам !

count

У мене є запит, який дозволяє мені отримувати інформацію, і я хотів би отримувати номер рядка одночасно.

Я добре розумію кількість COUNT. Проблема в тому, що я отримую інформацію лише з одного рядка.

Дякую за твою допомогу.

cygenc писав:

отримати інформацію і отримати кількість рядків одночасно

Ні . неможливо в SQL мати агреговані дані і детально. це також важко осмислити, ви хотіли б, щоб значення COUNT у кожному рядку було повернуто? Якщо так, вам доведеться пройти підзапит .

В іншому випадку найпростіший спосіб - зробити два запити. Один лише з COUNT (*), а інший - з деталями .

Якщо ваш SQL-запит викликається сайтом, ви можете кодувати кількість безпосередньо в PHP. Однак це пройде, як Бензуе сказав у 2 запитах.

У PHP, якщо ви використовуєте PDO, ви можете використовувати кількість рядків відповідно до наступного прикладу:

Мартін Б писав:

У PHP, якщо ви використовуєте PDO, ви можете використовувати підрахунок рядків

Так, але з пропозицією LIMIT результат підрахунку рядків буде спотворений .

Дякую за відповіді.

Використання двох запитів значно уповільнює завантаження моєї сторінки, і якщо не так, як Бензуе сказав, мій результат перекошений, оскільки я використовую речення LIMIT, якщо проходжу підрахунок у php.

Щоб відповісти на перше повідомлення Бензує, насправді мій запит дозволяє мені отримати інформацію, скажімо фрукти, відповідно до пункту where.

Я хотів би, якщо це можливо, також відновити кількість фруктів. Не знаю, чи досить ясний.

За допомогою мого коду я добре отримую це число, але замість того, щоб отримати всі плоди, воно отримує лише один.

cygenc писав:

За допомогою мого коду я добре отримую це число, але замість того, щоб отримати всі плоди, воно отримує лише один.

Це нормальна робота. у будь-якому випадку з MySQL .

Сукупні функції (COUNT, MAX, MIN, AVG тощо) призначені для групування записів для відображення зведених результатів. MySQL досить толерантний, він не нав'язує з цими функціями речення GROUP BY, але все одно групується і відображає дані "навмання", загалом перший знайдений запис .

Використовуючи речення LIMIT, я не бачу іншого рішення, як зробити 2 запити .

cygenc писав:

Використання двох запитів значно уповільнює завантаження моєї сторінки

Я в цьому не переконаний. спробуйте цей код, розглядаючи $ bdd як ваш PDO-об'єкт підключення MySQL: