2009-12-09 1 views
12

ho la seguente queryselezionare il conteggio e altri record in una singola query

select main_cat_name,cat_url from mf_main order by main_cat_name 

Ciò restituisce tutta i dati della mia table.Now voglio avere conteggio delle righe complessivo di questo table.I può farlo usando un'altra query ma come posso usarli in una singola query ???

voglio due dati ONE: - Le righe della tabella a due: - il conteggio come posso avere che in una singola query

Ho provato questo ma dà conteggio corretto ma visualizza solo prima riga della tabella:

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

se hai a che fare con PHP, fa il lavoro per voi .. – yoda

+0

no anche in php non fa quello che voglio :-( – developer

risposta

14

Si può provare con Raggruppa come:

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

soluzione giusta spero:

Questo è ciò che si vuole :)

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 

Se si utilizza mysql u avere "come" come ho fatto io. Per altri db possono fare a meno come (come Oracle)

+0

yess questo è quello che volevo..grazie! – developer

+0

Si dovrebbe controllare il mio come risposta se aiutato :). Grazie –

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

questo sta dando il conteggio 1 per ogni cat_name – developer

1

Si potrebbe provare

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

Non sono sicuro se MySQL accetta la AS, basta rimuoverlo se non è così.

+1

non funziona su mysql .. "oltre()" non accettato –

0

Se non si utilizza la query WHERE e non si limita l'output in altro modo, ad esempio utilizzando GROUP BY, l'importo delle righe nel risultato corrisponderà alla quantità di righe nella tabella, quindi è possibile utilizzare metodi specifici del driver del database per trovare il numero delle righe, ad es mysql_num_rows in PHP

0

Una volta creato già una dichiarazione prescelta

v'è già un record di numero_colonne il valore come numero_colonne