21 messaggi dal 28 ottobre 2003
trovato

sql= "SELECT nameitem,count(*) as numerox from [comments] group by nameitem HAVING count(*)>2 order by count(*) desc"


adesso (e spero di non ripetere la stessa domanda di prima,

dovrei stampare

response.write "" & objrs("typex") & " - " & objrs("nameitem") & " - " & objrs("numerox") & "<br>"

typex è un campo testo, anche in questo caso lo stesso nameitem ha lo stesso typex (oltre allo stesso iditem),

come posso fare in modo di selezionarlo nella select ? al momento non riesco a trovare quest'ultima soluzione..
21 messaggi dal 28 ottobre 2003
ri-leggendo l'ultima risposta che mi hai dato, sembrerebbe che non lo possa fare..

guarda, ti faccio un esempio pratico, perchè mi sembra impossibile.

typex | nameitem | iditem

A | vasco rossi | 100
C | albachiara | 100
A | celentano | 200
C | una_canzone_di_celentano | 200
C | albachiara | 100
A | celentano | 200
C | albachiara | 100

io con

sql= "SELECT nameitem,count(*) as numerox from [comments] group by nameitem HAVING count(*)>1 order by count(*) desc"

estraggo

albachiara 3
celentano 2

io però vorrei estrarre

C - albachiara - 3
A - celentano - 2

capito ? non penso non si possa fare...

spero..
3.122 messaggi dal 16 maggio 2002
Allora andiamo con ordine.
per ordinarli in base a numerox ? cioè, il nameitem che compare + volte va per primo etc ?

Per ordinare i risultati in base ad un campo specificato nella query si può, in alternativa a specificare il nome del campo, specificare la sua posizione nella query. Ad esempio, se ho questa query

SELECT nameitem, COUNT(*) AS numerox
FROM comments
GROUP BY nameitem

e voglio ordinare i risultati in modo decrescente rispetto a numerox, posso scrivere

SELECT nameitem, COUNT(*) AS numerox
FROM comments
GROUP BY nameitem
ORDER BY 2 DESC

perché COUNT(*) è al 2° posto nella query.

Altra domanda
poi un altra cosa (e poi chiudo, spero) l'* di count(*), che cosa vuol dire ? di selezionare tutti i campi ? (non credo..??)

La funzione di aggregazione COUNT deve ricevere un parametro in ingresso. Questo parametro indica che vanno inclusi nel conteggio quei record (e solo quelli!) per i quali il campo specificato non è NULL, cioè quelli tali che il campo in questione fornisce informazione (NULL significa assenza di informazione). Se invece specifichi * significa che deve contare tutti i record indifferentemente.

typex è un campo testo, anche in questo caso lo stesso nameitem ha lo stesso typex (oltre allo stesso iditem),

come posso fare in modo di selezionarlo nella select ? al momento non riesco a trovare quest'ultima soluzione..

Basta inserirlo nella query e raggruppare anche in base a quello.

SELECT typex, nameitem, COUNT(*) AS numerox
FROM comments
GROUP BY typex, nameitem
ORDER BY 2 DESC

Dimmi se questo è il risultato che ti attendevi.

P.S. scusa se non ti ho riportato l'esempio ma io Vasco proprio non lo reggo!

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
21 messaggi dal 28 ottobre 2003
perfetto.

E' quel che volevo.

grazie mille, (ok per vasco :D )

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.