powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Результат count(*) не соответствует действмтеотности
16 сообщений из 16, страница 1 из 1
Результат count(*) не соответствует действмтеотности
    #39171038
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Почему
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT count(*)
FROM
    `sdr`
        JOIN
    `s_m` ON `sdr`.`n` = `s_m`.`n_sdr`
WHERE
    `s_m`.`n_mtk` IN ('516' , '517')
GROUP BY `s_m`.`n_sdr`
HAVING COUNT(`s_m`.`n_sdr`) = '2'


возвращает 2 (это неправильно), а
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT *
FROM
    `sdr`
        JOIN
    `s_m` ON `sdr`.`n` = `s_m`.`n_sdr`
WHERE
    `s_m`.`n_mtk` IN ('516' , '517')
GROUP BY `s_m`.`n_sdr`
HAVING COUNT(`s_m`.`n_sdr`) = '2'


только одну строку (это правильно)?
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171054
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И то, и другое - правильно.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171063
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но мне нужно узнать количество строк, а каунт почему-то возвращает 2, когда строк, подходящих одна. Почему так?
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171238
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkкаунт почему-то возвращает 2, когда строк, подходящих одна. Почему так?
Да ни хрена не одна! GROUP BY убери - увидишь, что их две.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171576
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как тогда учесть каунт?
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171582
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkкак тогда учесть каунт?
каунт ЧЕГО? над этим вопросом ты, походу, даже не думал... а зря.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171596
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каунт сгруппированных строк без учёта количества в группах. Число групп короче.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171612
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть нужно сгруппировать, а потом подсчитать количество групп. То есть ДВА последовательных уровня группировки.
Вывод - группировка в подзапросе со всеми условиями, и (неявная) группировка во внешнем запросе.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171626
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что значит неявная? Я не понимаю.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171730
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче всё, не актуально.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171783
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkЧто значит неявная? Я не понимаю.По всему массиву данных, без предложения GROUP BY в тексте запроса.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171837
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решено:

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT COUNT(*) AS `kol`
	FROM
    (SELECT COUNT(*)
    FROM `sdr` JOIN `s_m` ON `sdr`.`n` = `s_m`.`n_sdr`
    WHERE `s_m`.`n_mtk` IN ('516' , '517')
    GROUP BY `s_m`.`n_sdr`
    HAVING COUNT(`s_m`.`n_sdr`) = '2') as `t`
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171923
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а внутри-то каунт нахрена?
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171927
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что-то ж выбрать надо, а мне ни данные, ни их число в группах не нужно. Ну, выбрал число в группах.
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171928
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkНу что-то ж выбрать надоselect 1
...
Рейтинг: 0 / 0
Результат count(*) не соответствует действмтеотности
    #39171936
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirandrejkНу что-то ж выбрать надоselect 1
О, спасибо.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Результат count(*) не соответствует действмтеотности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]