Я использую старый скрипт php и имею ошибку с этим запросом. Поскольку я не имею опыта с mysql, я не мог это исправить.
"SELECT COUNT(p.postid) AS pid, p.*, t.* FROM ".TABLE_PREFIX."post AS p INNER JOIN ".TABLE_PREFIX."thread AS t ON (p.threadid = t.threadid) WHERE p.username='".$uname."'"
ошибка
Смешивание столбцов GROUP (MIN (), MAX (), COUNT (), …) без столбцов GROUP является незаконным, если нет предложения GROUP BY
Я надеюсь, что кто-то может мне помочь
Как и ошибка, вы не можете ВЫБРАТЬ функцию агрегата, такую как COUNT, без явной (без групповой) группировки строк (с помощью GROUP BY) или путем простого выбора агрегата. Чтобы выразить это в менее технических терминах – вы сообщаете базе данных, «Посмотрите все сообщения этого имени пользователя, а также те потоки, к которым они принадлежат, и количество сообщений», и база данных отвечает вам », количество сообщений в чем?".
Поэтому вам нужно быть более конкретным. Если вы действительно хотите:
p.*
Из SELECT и добавьте GROUP BY t.threadid
в конец запрос. post
чтобы получить общее количество сообщений.