Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

узнать сумму строк из списка таблиц

1.8K
10 декабря 2008 года
Evgeni
188 / / 14.06.2006
Доброго времени суток!)
Вот есть запрос, который возвращает список таблиц бд. Как можно узнать сумму всех строк во всех таблицах?
13
11 декабря 2008 года
RussianSpy
3.0K / / 04.07.2006
Что значит "сумму строк"?
6
11 декабря 2008 года
George
4.1K / / 05.01.2007
телепатия подсказывает количество строк во всех таблицах. собственно показывайте, что сделали, и укажите конкретную проблему.
2
11 декабря 2008 года
squirL
5.6K / / 13.08.2003
средствами БД - вряд-ли. написать примитивный скрипт, который будет перебирать таблицы, базы и суммировать строки.
1.8K
11 декабря 2008 года
Evgeni
188 / / 14.06.2006
Уточняю: нужно подсчитать количество строк во всех таблицах в заданной бд.
Вот есть запрос, которыя возвращает список таблиц:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
так вот как подсчитать количество строк, если уже есть список таблиц, или может есть другой способ подсчета?
Все это нужно сделать средствами бд.
2
11 декабря 2008 года
squirL
5.6K / / 13.08.2003
СУБД указать вам не позволяет подписка о неразглашении?

если это MySQL (как я догадываюсь) то так:

[highlight=sql]
select sum(table_rows) from information_schema.tables where table_schema='DATABASE';
[/highlight]
где DATABASE - нужная база
11
11 декабря 2008 года
oxotnik333
2.9K / / 03.08.2007
интересно, кому нужна такая инфа? в какой статистике она использоваться будет
1.8K
11 декабря 2008 года
Evgeni
188 / / 14.06.2006
Цитата: squirL
СУБД указать вам не позволяет подписка о неразглашении?

если это MySQL (как я догадываюсь) то так:

[highlight=sql]
select sum(table_rows) from information_schema.tables where table_schema='DATABASE';
[/highlight]
где DATABASE - нужная база



Использую MS SQL Express 2005.
Пробывал ваш запрос, но ругается на table_rows

2
11 декабря 2008 года
squirL
5.6K / / 13.08.2003
Цитата: oxotnik333
интересно, кому нужна такая инфа? в какой статистике она использоваться будет



погляди в phpMyAdmin, например :)

Evgeni
ну поглядите в information_schema или как там служебная таблица называется. поищите сами схожие поля.

385
15 декабря 2008 года
SomewherSomehow
477 / / 25.07.2004
Еще можно просто скрипт написать, который все посчитает:
Код:
declare @Sum int
set @Sum = 0

declare @RowCount int
set @RowCount = 0

declare @TableName nvarchar(128)
declare @SqlScript nvarchar(1024)

declare cur cursor local read_only forward_only static for
select TABLE_NAME from INFORMATION_SCHEMA.TABLES

open cur

fetch next from cur into @TableName

while @@fetch_status = 0 begin

    set @SqlScript = 'select @RowCount = count(*) from [' + @TableName + ']'
    exec sp_executesql @SqlScript, N'@RowCount int output', @RowCount output

    -- либо так, но так будут выбираться все строки таблиц, а не их число,
    -- и так лучше НЕ делать, ибо все зависнет напрочь
    -- exec ('select * from [' + @TableName + ']')
    -- set @RowCount = @@rowcount

    set @Sum = @Sum + @RowCount
   
    fetch next from cur into @TableName
end

close cur
deallocate cur

select @Sum
14
15 декабря 2008 года
Phodopus
3.3K / / 19.06.2008
А
 
Код:
SELECT COUNT(*) AS records_count FROM table_name

это не то?
385
15 декабря 2008 года
SomewherSomehow
477 / / 25.07.2004
Это то, только этот запрос выведет кол-во строк одной таблицы, а автор темы хочет посчитать сумму строк всех таблиц в БД, насколько я понял...
По этому предлагаю формировать запрос для каждой таблицы динамически, меняя имя таблицы и получая по каждой таблице кол-во строк. Поскольку было сказано что нужно в рамках БД, то и запрос динамически формируется в скрипте.
Возможно есть путь проще: посмотреть где-то статистику в системных таблицах, как это предлагалось в предыдущих ответах, но вот например в 2000 ms sql я такого не нашел...может в 2005 это где-то есть, а может я плохо искал =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог