Làm cách nào để đếm số cột trong bảng bằng SQL?Làm cách nào để đếm số cột trong bảng bằng SQL?
Tôi đang sử dụng Oracle 11g
Vui lòng trợ giúp. t.
Làm cách nào để đếm số cột trong bảng bằng SQL?Làm cách nào để đếm số cột trong bảng bằng SQL?
Tôi đang sử dụng Oracle 11g
Vui lòng trợ giúp. t.
select count(*)
from user_tab_columns
where table_name='MYTABLE' --use upper case
không có gì trong bảng user_tab_columns –
không hoạt động đối với tôi – BekaBot
Nó hoạt động nhưng tên bảng có phân biệt chữ hoa chữ thường. –
Có lẽ một cái gì đó như thế này:
SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO'
này sẽ đếm số cột trong một FOO bàn
Bạn cũng có thể chỉ
select count(*) from all_tab_columns where owner='BAR' and table_name='FOO';
nơi chủ sở hữu là lược đồ và lưu ý Tên bảng có chữ hoa cao hơn
Nếu tôi không chỉ cần đếm giá trị mà còn giá trị cột cụ thể, có thể nối thêm nó một cách dễ dàng không? – zygimantus
Cũ câu hỏi - nhưng tôi thời gian gần đây cần thiết này cùng với hàng đếm ... đây là một truy vấn cho cả hai - được sắp xếp theo hàng đếm desc:
select t.owner, t.table_name, t.num_rows, count(*)
from all_tables t left join all_tab_columns c on t.table_name = c.table_name
where num_rows is not null
group by t.owner, t.table_name, t.num_rows
order by t.num_rows desc;
Các bạn đã thử này? http://stackoverflow.com/questions/506176/number-of-columns – Catalin