閱文時長 | | 0.27分鍾 | 字數統計 | | 444字符 |
主要內容 | | 1、引言&背景 2、解決方案 3、聲明與參考資料 | ||
『MSSQL·查詢某數據庫中所有表的記錄數並排序』 | |||
編寫人 | | SCscHero | 編寫時間 | | 2021/7/13 PM10:0 |
文章類型 | | 系列 | 完成度 | | 已完成 |
座右銘 | 每一個偉大的事業,都有一個微不足道的開始。 |
一、引言&背景 完成度:100%
a) 應對問題
如何查詢MSSQL中某數據庫中的所有數據表的記錄數並排序?
b) 應用場景
- 需要查詢所有表中的記錄數,並按記錄數排序的場景。
- 例如,數據遷移生成腳本時,為避免腳本文件過大,可將數據量大的數據表單獨處理等。
c) 效果展示

二、解決方案 完成度:100%
使用MSSQL相關的系統表,如SYS.TABLES、SYS.EXTENDED_PROPERTIES、SYSINDEXES進行聯查。
SELECT ROW_NUMBER() OVER (ORDER BY All_Table.NAME) AS NO,
All_Table.NAME AS '表名(EN)',
CONVERT(NVARCHAR(100),ISNULL(TableDesc.[VALUE],'-')) AS '表名(CN)',
TabIndex.ROWS AS '記錄數'
FROM SYS.TABLES All_Table
LEFT JOIN SYS.EXTENDED_PROPERTIES TableDesc ON (All_Table.OBJECT_ID = TableDesc.MAJOR_ID AND TableDesc.MINOR_ID = 0)--取表的名稱兩個條件
INNER JOIN SYSINDEXES TabIndex ON All_Table.OBJECT_ID=TabIndex.ID AND TabIndex.INDID < 2
WHERE 1=1
ORDER BY TabIndex.ROWS DESC
三、聲明與參考資料 完成度:100%
原創博文,未經許可請勿轉載。
如有幫助,歡迎點贊、收藏、關注。如有問題,請評論留言!如需與博主聯系的,直接博客私信SCscHero即可。