Есть ли способ показать все таблицы, которые имеют определенное количество записей?Как показать все таблицы, которые имеют определенное количество записей
1
A
ответ
1
Хммм
Быстрый и грязный путь:
sp_MSForeachtable 'select ''?'' tblName, count(*) from ? where count(*) = X'
Это должно выводить только те строки, в которых записаны записи Х
1
This post имеет хороший запрос, чтобы сделать именно это (а также количество столбцов и размеров строк):
USE DatabaseName
GO
CREATE TABLE #temp (
table_name sysname ,
row_count INT,
reserved_size VARCHAR(50),
data_size VARCHAR(50),
index_size VARCHAR(50),
unused_size VARCHAR(50))
SET NOCOUNT ON
INSERT #temp
EXEC sp_msforeachtable 'sp_spaceused ''?'''
SELECT a.table_name,
a.row_count,
COUNT(*) AS col_count,
a.data_size
FROM #temp a
INNER JOIN information_schema.columns b
ON a.table_name collate database_default = b.table_name collate database_default
GROUP BY a.table_name, a.row_count, a.data_size
ORDER BY CAST(REPLACE(a.data_size, ' KB', '') AS integer) DESC
DROP TABLE #temp
2
Для около 100% точности:
select object_schema_name(object_id) as schema_name,
object_name(object_id) as object_name,
sum(p.rows)
from sys.partitions p
where index_id in (1,0)
group by object_id
having sum(p.rows) = @numberOfRows;
Для истинной точности 100%, вы должны COUNT(*)
от курсора
1
COUNT от курсора:
Declare @NumberOfRecords Integer
Set @NumberOfRecords = 100
Create Table #Tables(TableName SysName)
Declare @More Bit
Declare CTable Cursor Local Fast_Forward For Select Table_Name From Information_Schema.Tables Where Table_Type = 'Base Table'
Declare @CTableName SysName
Declare @SQL National Character Varying(4000)
Set @More = 1
Open CTable
While (@More = 1)
Begin
Fetch Next From CTable Into @CTableName
If (@@Fetch_Status != 0)
Set @More = 0
Else
Begin
Set @SQL = N'If (Select Count(*) From [' + @CTableName + ']) = ' + Cast(@NumberOfRecords As National Character Varying) + N' ' +
N'Insert Into #Tables(TableName) Values(''' + @CTableName + N''')'
Execute (@SQL)
End
End
Close CTable
Deallocate CTable
Select * From #Tables
Drop Table #Tables
Смежные вопросы
- 1. Показать строки, которые имеют значения, происходят определенное количество раз
- 2. Показать значения, которые происходят определенное количество раз в конкретном столбце
- 3. MySQL определенное количество записей
- 4. Список количество записей, которые имеют X количество ассоциаций в has_many
- 5. MySQL Выберите количество записей, которые имеют «N» раз
- 6. Как показать определенное количество записей в Listview в Android?
- 7. Выберите все строки, которые имеют только определенное значение в записях
- 8. Как получить количество записей, которые имеют повторяющиеся значения в MySQL
- 9. Искать все таблицы, которые содержат определенное значение
- 10. SQlite удалить все строки, которые имеют определенное строковое значение
- 11. получить определенное количество записей и показать в таблице
- 12. Excel VBA для подсчета записей, которые имеют определенное количество прошедших секунд
- 13. Solr - возвращают все группы, которые имеют определенное значение в группе
- 14. Linq Соединения слева на столе, которые имеют большее количество записей
- 15. Извлеките все правила правил CSS, которые имеют определенное правило
- 16. Выберите количество записей, которые имеют максимальное значение в диапазоне
- 17. получить все элементы, которые имеют определенное имя элемента
- 18. SQL исключает все строки, которые имеют определенное значение?
- 19. Найти все индексы в массиве, которые имеют определенное значение
- 20. Получить все значения lucene, которые имеют определенное fieldName
- 21. SQL INQUIRY Как получить определенное количество записей
- 22. Как экспортировать определенное количество записей из mongodb?
- 23. SQL показать количество повторяющихся записей
- 24. Получение записей, где атрибуты имеют определенное значение
- 25. Выбрать все страны, которые имеют минимальное количество клиентов
- 26. Получение всех записей за определенное количество месяцев
- 27. Как показать/скрыть определенное количество div?
- 28. Как удалить таблицы, которые все имеют похожие названия
- 29. Получение записей, которые имеют все столбцы штампа времени
- 30. Количество записей из таблицы
+1 Для точности комментария. Метаданные быстрые, но могут быть неверными! – JNK