Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-05-2009, 10:35   #1
mosquita
Senior Member
 
L'Avatar di mosquita
 
Iscritto dal: Oct 2005
Città: [ENOPOLIS] Montespertoli (FI) - PostePay available
Messaggi: 1357
[Mysql] Aiuto per una query

Ciao a tutti

Vengo subito al dunque.....voglio sapere quante volte sono ripetuti in una tabelle i fornitori di un azienda, così;
SELECT fornitore, COUNT( * ) AS totale FROM fornitori GROUP BY (fornitore) having totale >1;
Mi presenta una schermata così;
+------------------------+--------+
| fornitore | totale |
+------------------------+--------+
| Tizio | 4 |
| Caio | 4 |
| Sempronio | 4 |
+------------------------+--------+
3 rows in set (0.00 sec)

Come faccio adesso a vedere le 4 righe "sciolte" di ciascun fornitore? In poche parole, come faccio a vedere le 12 righe?
Grazie
Mosq
__________________
Intel E8500@[email protected] LANPARTY UT-P45-T2RS-2x2048 VITESTA EX.ED-OCZ "Z SERIES" 1000W MODULAR-PNY8600-WB EKSUPREME-SANSO POMP-RADAIRCUBE120-STACKER STC-T01MODDED-
mosquita è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 14:25   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Cosi'?

Codice:
SELECT * FROM totale
ORDER BY fornitore
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 14:39   #3
mosquita
Senior Member
 
L'Avatar di mosquita
 
Iscritto dal: Oct 2005
Città: [ENOPOLIS] Montespertoli (FI) - PostePay available
Messaggi: 1357
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Cosi'?

Codice:
SELECT * FROM totale
ORDER BY fornitore
Totale non è una tabella, è un alias
Mosq
__________________
Intel E8500@[email protected] LANPARTY UT-P45-T2RS-2x2048 VITESTA EX.ED-OCZ "Z SERIES" 1000W MODULAR-PNY8600-WB EKSUPREME-SANSO POMP-RADAIRCUBE120-STACKER STC-T01MODDED-
mosquita è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 14:41   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 24-05-2009 alle 14:43. Motivo: dup
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 14:43   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da mosquita Guarda i messaggi
Totale non è una tabella, è un alias
Mosq
Era FROM fornitori ovviamente... lettura affrettata

Altrimenti spiega bene cos'hai e cosa vorresti avere, magari anche con un esempio.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 14:56   #6
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
Codice:
SELECT * FROM Fornitori WHERE Fornitore IN 
(
SELECT fornitore FROM fornitori GROUP BY (fornitore) having COUNT( * ) >1
)
così funziona?
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 14:59   #7
mosquita
Senior Member
 
L'Avatar di mosquita
 
Iscritto dal: Oct 2005
Città: [ENOPOLIS] Montespertoli (FI) - PostePay available
Messaggi: 1357
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Era FROM fornitori ovviamente... lettura affrettata

Altrimenti spiega bene cos'hai e cosa vorresti avere, magari anche con un esempio.
Ok.
La prima query mi fa vedere quali sono i fornitori che si presentano + volte.
Voglio potere vedere, non un raggruppamento ma le tuple singole.
Es. Tizio si presenta ben 4 volte, vorrei vedere 4 tuple di tizio, 4 di Caio e 4 di Sempronio.
Voglio solo vedere, dei fornitori presentati + volte, ogni singola riga.
es:
*************************** 7. row ***************************
id_fornitori: 34
cod_for: 497717
fornitore: Tizio
tipologia: tizieggio
stato: attivo
note: NULL
key_user: Tizio
email: [email protected]
*************************** 8. row ***************************
id_fornitori: 35
cod_for: 497717
fornitore: Tizio
tipologia: tizieggio
stato: attivo
note: NULL
key_user: Tizio
email: [email protected]
*************************** 9. row ***************************
id_fornitori: 36
cod_for: 497717
fornitore: Tizio
tipologia: tizieggio
stato: attivo
note: NULL
key_user: Tizio
email: [email protected]
*************************** 10. row ***************************
id_fornitori: 5
ccod_for: 497717
fornitore: Tizio
tipologia: tizieggio
stato: attivo
note: NULL
key_user: Tizio
email: [email protected]
*************************** 11. row ***************************
__________________
Intel E8500@[email protected] LANPARTY UT-P45-T2RS-2x2048 VITESTA EX.ED-OCZ "Z SERIES" 1000W MODULAR-PNY8600-WB EKSUPREME-SANSO POMP-RADAIRCUBE120-STACKER STC-T01MODDED-
mosquita è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 15:08   #8
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Non ci sono.
Dici di volere una cosa pero' poi nell'esempio ne mostri un'altra.

Codice:
Voglio potere vedere, non un raggruppamento ma le tuple singole.
Es. Tizio si presenta ben 4 volte, vorrei vedere 4 tuple di tizio
Codice:
SELECT * FROM fornitori
ORDER BY id_fornitori
Se Tizio si presenta 4 volte, avrai 4 record di tizio, uno per ciascuna entry.
solo non e' trasposto, cosa che in SQL non e' affatto semplice.
Se ti serve proprio questo, lo saprei fare sotto Oracle e sotto SqlServer. Niente MySql mi spiace.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 15:11   #9
mosquita
Senior Member
 
L'Avatar di mosquita
 
Iscritto dal: Oct 2005
Città: [ENOPOLIS] Montespertoli (FI) - PostePay available
Messaggi: 1357
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Non ci sono.
Dici di volere una cosa pero' poi nell'esempio ne mostri un'altra.

Codice:
Voglio potere vedere, non un raggruppamento ma le tuple singole.
Es. Tizio si presenta ben 4 volte, vorrei vedere 4 tuple di tizio
Codice:
SELECT * FROM fornitori
ORDER BY id_fornitori
Se Tizio si presenta 4 volte, avrai 4 record di tizio, uno per ciascuna entry.
solo non e' trasposto, cosa che in SQL non e' affatto semplice.
Se ti serve proprio questo, lo saprei fare sotto Oracle e sotto SqlServer. Niente MySql mi spiace.
Scusa se mi sono spiegato male ma Kralizek ha capito.

Quote:
Originariamente inviato da Kralizek Guarda i messaggi
Codice:
SELECT * FROM Fornitori WHERE Fornitore IN 
(
SELECT fornitore FROM fornitori GROUP BY (fornitore) having COUNT( * ) >1
)
così funziona?
Alla grande.....grazie 1000
Mosq
__________________
Intel E8500@[email protected] LANPARTY UT-P45-T2RS-2x2048 VITESTA EX.ED-OCZ "Z SERIES" 1000W MODULAR-PNY8600-WB EKSUPREME-SANSO POMP-RADAIRCUBE120-STACKER STC-T01MODDED-
mosquita è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 15:22   #10
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da mosquita Guarda i messaggi
Scusa se mi sono spiegato male ma Kralizek ha capito.


Alla grande.....grazie 1000
Mosq
Pensavo fosse un problema di presentazione piu' che di contenuto.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 24-05-2009 alle 16:24. Motivo: Misunderstanding
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 17:14   #11
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
gugo se fosse sql server, ci sarebbe qualche improvement possibile da un punto di vista delle performance?
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2009, 18:53   #12
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Si potrebbe provare con una analytic function, ma non penso che si senta molto

Codice:
SELECT * FROM (
SELECT *,COUNT(*) OVER (PARTITION BY id_fornitori) cnt
   FROM fornitori
) AS tmp
WHERE cnt>1
Il concetto e' che viene letta tutta la tabella una volta sola, invece che 2 volte all'indice e una alla tabella come nella tua query.

Direi che si guadagna tanto di piu' quanti piu' sono i record che soddisfano la clausola.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Amazon Tech Week 2026: RTX 5000, process...
Grandi offerte Amazon su scope elettrich...
Amazon e Anthropic rafforzano la partner...
Elden Ring: il film arriverà fra ...
Mercato PC, +3,2% nel Q1 2026: Lenovo se...
Corsair Platform: scrivanie gaming modul...
Assassin's Creed Black Flag Resynced: Ub...
La crisi delle memorie colpisce anche Ap...
NVIDIA accelera il Path Tracing: nuovo a...
Le migliori cuffie gaming wireless del 2...
Anche HONOR avrà il suo Pro Max: ...
Sta arrivando WhatsApp Plus: cosa includ...
Una GeForce RTX 5070 a un prezzo super c...
Nothing Phone (3) 16+512GB crolla a 662,...
Gigabyte risolve il problema dei connett...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v