powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт количества записей в одном запросе из 4-х таблиц.
2 сообщений из 2, страница 1 из 1
Подсчёт количества записей в одном запросе из 4-х таблиц.
    #32290593
Strateg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу найти ответа на вопрос, возможно ли одним запросом подсчитать количество записей в 3-х или 4-х таблицах?

Если пишу так
select count(*) from tb_1, tb_2, tb_3, tb_4;
то в результате получаю объединённую строку 11615 со значениями 11, 6, и 15 только для первых трёх таблиц, а мне нужно получить 11 | 6 | 15 | 21 . При других комбинациях запроса, которые пробовал, выдаёт ошибку. Наверное это примитивный подход и неправильный, но правильного решения найти не могу.
Пробовал так
SELECT count(tb_1.*), count(tb_2.*), count(tb_3.*), count(tb_4.*) FROM tb_1, tb_2, tb_3, tb_4 GROUP BY ... а дальше не получается.
...
Рейтинг: 0 / 0
Подсчёт количества записей в одном запросе из 4-х таблиц.
    #32290653
alex_24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, давай немного уточним вопрос:
тебе нужно узнать в одном запросе сумму по каждой таблице
или
тебе нужно узнать сумму всех позиций во всех таблицах.

Если первый вариант, то:
Используй инструцию UNION. Это позволит использовать все строки из всех таблиц применяя COUNT() к каждой из них.

Привожу цытирую из MANa:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
 6 . 4 . 1 . 2  Синтаксис оператора UNION

SELECT ...
UNION [ALL]
SELECT ...
  [UNION 
   SELECT ...]

Оператор UNION реализован в MySQL  4 . 0 . 0 . 

UNION используется для объединения результатов работы нескольких команд
SELECT в один набор результатов. 

Столбцы, перечисленные в части select_expression должны быть одинакового
типа. Имена столбцов, указанные в первом SELECT будут использованы как
имена столбцов для всего результата. 

Эти команды SELECT являются обычными командами выборки данных, но со
следующим ограничением: 

Только последняя команда SELECT может включать оператор INTO OUTFILE. 
Если не используется ключевое слово ALL для UNION, все возвращенные 
строки будут уникальными, так как по умолчанию подразумевается DISTINCT
для всего результирующего набора данных. Если указать ключевое слово ALL, 
то результат будет содержать все найденные строки из всех примененных 
команд SELECT. 

Если для всего результата UNION необходимо применить оператор ORDER BY, 
следует использовать круглые скобки: 

(SELECT a FROM table_name WHERE a= 10  AND B= 1  ORDER BY a LIMIT  10 )
UNION
(SELECT a FROM table_name WHERE a= 11  AND B= 2  ORDER BY a LIMIT  10 )
ORDER BY a;


Я думаю это практически исчерпывающая информация, каторая тебе нужна.

А вот если тебе необходимо что то другое - уточни вопрос.

Вообще - захиди ко мне на форум.
http://forum.webcommand.ru
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт количества записей в одном запросе из 4-х таблиц.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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