|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2001
Messaggi: 40
|
interrogazione sql
data la seguente interrogazione:
SELECT cf, COUNT(*) FROM miatabella GROUP BY cf che mi ritorna una nuova relazione fatta così: 1 3 5 7 come si fa a farsi ritornare solo il valore 7 e non tutti i valori ?
__________________
La vita è una bella donna che si da |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
SELECT cf, COUNT(*) FROM miatabella GROUP BY cf HAVING COUNT(*)=7
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jun 2001
Messaggi: 40
|
scusa, forse ti ho depistato ma il valore 7 l'ho specificato come esempio, ma nella realtà non è noto a priori il valore massimo
__________________
La vita è una bella donna che si da |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
prova ad aggiungere ORDER BY cf DESC LIMIT 1;
__________________
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Codice:
SELECT cf, COUNT(*) FROM miatabella GROUP BY cf HAVING COUNT(*)=&n se invece vuoi solo quelli con il count(*) massimo fai: Codice:
SELECT cf, COUNT(*)
FROM miatabella
GROUP BY cf
HAVING COUNT(*) =
(
SELECT MAX(COUNT(*))
FROM miatabella
GROUP BY cf
)
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve Ultima modifica di trallallero : 21-02-2007 alle 16:08. |
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: Jun 2001
Messaggi: 40
|
Quote:
ERROR: aggregate function calls may not be nested le funzioni aggregate non possono essere nidificate
__________________
La vita è una bella donna che si da |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Codice:
1 select Y, count(*) 2 from prova 3 group by Y 4 having count(*) = 5* ( select max(count(*)) from prova group by Y) SQL> / Y COUNT(*) ---------- ---------- ciccio 4
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Jun 2001
Messaggi: 40
|
uso postgres
__________________
La vita è una bella donna che si da |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Jun 2001
Messaggi: 40
|
funziona con una leggera modifica al tuo codice
Codice:
SELECT cf, COUNT(*)
FROM miatabella
GROUP BY cf
HAVING COUNT(*) >= ALL
(
SELECT COUNT(*)
FROM miatabella
GROUP BY cf
)
__________________
La vita è una bella donna che si da |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Jun 2001
Messaggi: 40
|
ragazzi un altra dritta
CLIENTE (Nr.telefono, Nome, Indirizzo) ORDINE (Nr.telefono, Codice-Pizza, Codice-Operatore, Data, Costo) PIZZA (Codice-Pizza, Nome, Prezzo) Si richiede di formulare in SQL quanto segue: determinare per ogni operatore e ogni pizza il costo totale degli ordini effettuati; SELECT codicepizza, sum(costo) FROM ORDINE GROUP BY codicepizza; e con questa query estraggo il costo totale per ogni tipo di pizza venduta ma, come diamine ci inserisco l'operatore ? La query è anche sbagliata perchè nella somma non tiene conto di operatori differenti
__________________
La vita è una bella donna che si da |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Se ti puó aiutare In Oracle sarebbe qualcosa del genere, ma mi sa che manca qualcosa (non posso testare)
Codice:
SELECT O.operatore OPERATORE, P.nome PIZZA , SUM(O.costo) TOTALE FROM ordine O, pizza P WHERE O.codicepizza = P.codicepizza GROUP BY O.operatore, O.telefono, P.nome ;
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:25.




















