2009-12-09 144 views
12

我有以下查詢選擇計數和一個單一的查詢其他記錄

select main_cat_name,cat_url from mf_main order by main_cat_name 

這將返回我的table.Now的整個數據,我想有這樣的table.I的總行數可以做到這一點使用其他查詢,但我怎麼可以在一個單一的查詢使用它們???

我想兩個數據之一: - 表兩個行: - 計數 我怎麼能有在一個單一的查詢

我試過,但它提供了正確的計數,但只顯示第一行表:

select count(cat_id),main_cat_name,cat_url from mf_main order by main_cat_name 
+0

如果你處理的是PHP,它的工作對你.. – yoda

+0

沒有甚至在PHP其沒有做什麼,我想:-( – developer

回答

14

你可以用組嘗試,如:

SELECT count(cat_id), main_cat_name, cat_url FROM mf_main GROUP BY main_cat_name, cat_url ORDER BY main_cat_name 

正確的解決方案,我希望:

這是你想要的東西:)

SELECT x.countt, main_cat_name, cat_url FROM mf_main, (select count(*) as countt FROM mf_main) as x ORDER BY main_cat_name 

如果您使用mysql u有 「爲」 像我一樣。對於其他數據庫可能不作爲(如Oracle)

+0

耶士這是我wanted..thanks! – developer

+0

您應該檢查我一樣回答,如果它幫助:)。由於 –

1
select count(cat_id), main_cat_name, cat_url 
from mf_main 
group by main_cat_name, cat_url 
order by main_cat_name 
+0

這是給計數1,每cat_name – developer

1

你可以嘗試

select main_cat_name,cat_url, 
COUNT(*) OVER() AS total_count 
from mf_main 
order by main_cat_name 

不知道如果MySQL接受AS,只是如果不將其刪除。

+1

不是MySQL的工作。「在()」不​​接受 –

0

如果不使用WHERE查詢,不限制輸出任何其他方式,如使用GROUP BY,比在結果中的行量將匹配的行量列於表,所以你可以使用數據庫驅動程序的具體方法找到的行數,如mysql_num_rows在PHP

0

一旦你已經創建了一個select語句

已經有你的算不算NUM_ROWS的NUM_ROWS記錄

相關問題