我怎樣才能同時使用select語句和select語句?用一個sql查詢選擇行數和列數?
1
A
回答
1
如果你只是想看看你的表格有什麼「形狀」,這樣的事情會起作用。但是,如果你想知道列/行數爲給定的查詢,也可能是可能的,但我不知道該怎麼辦呢
; WITH ROW_COUNTS AS
(
SELECT
s.[Name] as [SchemaName]
, t.[name] as [TableName]
, SUM(p.rows) as [RowCounts]
FROM
sys.schemas s
LEFT JOIN
sys.tables t
ON s.schema_id = t.schema_id
LEFT JOIN
sys.partitions p
ON t.object_id = p.object_id
LEFT JOIN
sys.allocation_units a
ON p.partition_id = a.container_id
WHERE
p.index_id in(0,1) -- 0 heap table , 1 table with clustered index
AND p.rows is not null
AND a.type = 1 -- row-data only , not LOB
GROUP BY
s.[Name]
, t.[name]
)
, COLUMN_COUNTS AS
(
SELECT
s.[Name] as [SchemaName]
, t.[name] as [TableName]
, COUNT(c.column_id) as [ColumnCounts]
FROM
sys.schemas s
INNER JOIN
sys.tables t
ON s.schema_id = t.schema_id
INNER JOIN
sys.columns c
ON C.object_id = T.object_id
GROUP BY
s.[Name]
, t.[name]
)
SELECT
CC.SchemaName
, CC.TableName
, RC.RowCounts
, CC.ColumnCounts
FROM
COLUMN_COUNTS CC
INNER JOIN
ROW_COUNTS RC
ON RC.SchemaName = CC.SchemaName
AND RC.TableName = CC.TableName
ORDER BY
1,2
結果對主
SchemaName TableName RowCounts ColumnCounts
dbo Hold_Cluster_Status 0 10
dbo MSreplication_options 3 6
dbo spt_fallback_db 0 8
dbo spt_fallback_dev 0 10
dbo spt_fallback_usg 0 9
dbo spt_monitor 1 11
dbo spt_values 2506 6
0
我跑又不是100%URE你想要什麼,但這裏是一個可能的例子...
SELECT
a,
b,
c,
(SELECT COUNT(*) FROM yourTable) as table_count
FROM
yourTable
2
使用,你應該能夠完成你在找什麼做一個COUNT()窗口集合。然而,對一個非常大的表,DISTINCT是不太可能是非常高性能:
SELECT DISTINCT a, b, c, COUNT(*) OVER (PARTITION BY 1) FROM <tablename>;
另一種選擇是,但你兩次觸摸表:
SELECT a,b,c, MyCount
FROM <tablename>
CROSS JOIN
(SELECT COUNT(*) AS MyCount
FROM <tablename>
)
+1
順便說一句:'COUNT(*)OVER()'具有相同的效果。 –
相關問題
- 1. SQL查詢 - 選擇一個總列
- 2. SQL查詢選擇一個*
- 3. SQL查詢計數選擇
- 4. SQL連接計數和選擇查詢
- 5. 在一個SQL查詢中選擇COUNT(id)和總數
- 6. 使用單個SQL查詢選擇多組行數
- 7. LINQ to SQL:在一個查詢中選擇整數數組
- 8. 如何從SQL查詢選擇中選擇一個隨機行?
- 9. 選擇查詢在SQL +列
- 10. 如何根據另一個選擇查詢的數據運行選擇查詢
- 11. sql-如何在一個查詢中組合選擇列,計數和比較?
- 12. MySQL查詢選擇多個計數列
- 13. linq查詢選擇兩個整數列
- 14. 一列添加到選擇SQL查詢
- 15. SQL - 在一個查詢中同時選擇「子」和「父」行
- 16. 有關選擇特定行數的SQL查詢查詢
- 17. 在SQL查詢中選擇列和計數
- 18. SQL查詢從給定的整數列表中隨機選擇一個整數?
- 19. SQL在一個查詢中有多個選擇計數語句
- 20. 從SQL查詢中選擇一系列數據
- 21. 在一個查詢中選擇*,計數(*)
- 22. #Sql比較一個表的數據和選擇查詢結果的數據
- 23. SQL查詢幫助:選擇出現一定次數的行
- 24. Mysql/sql/zend查詢與一個選擇?
- 25. SQL - 選擇下一個日期查詢
- 26. SQL查詢選擇一個範圍
- 27. 選擇並插入一個查詢SQL
- 28. SQL查詢來選擇一個月
- 29. 另一個子查詢使用從子查詢的列和選擇子查詢
- 30. SQL查詢從另一個SQL查詢中選擇COUNT
您必須對您的問題展開。你的數字是什麼意思?在一個正常的'SELECT'語句中,你會明確地提供列... –
@ElRonnoco我編輯了這個問題..好好看看它.. – Satya
你需要顯示你的查詢語句。至少對我來說,這仍然不清楚。 – Yuck