Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-04-2008, 01:40   #1
bigeyes
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 6
[SQL] una query

ciao a tutti!
Ho un problema con una query di sql, e spero che qualcuno di voi possa darmi una mano .
La query in questione è la seguente:

"trovare per ogni marca il modello più venduto"

considerando di avere le seguinti tabelle:

VETTURA(CODICE,MODELLO)
MARCA (CODICE,NOME)
MODELLO(CODICE, NOME, MARCA)
VENDITE_EFFETTUATE(DATA_VENDITA, IMPIEGATO,CLIENTE,VETTURA)

Non ho messo le tabelle di impiegato e cliente, tanto sono inutili per questa query. Considerando che in Modello l'attributo Marca fa riferimento al Codice della Marca e in Vendite_Effettuate l'attributo Vettura fa riferimento al codice della Vettura.


Ora sono arrivato a scrivere questo codice,solo che non capisco come vedere i massimi ...

SELECT MODELLO.NOME, MARCA.NOME,COUNT(MODELLO.NOME)
FROM VETTURA, MODELLO, MARCA
WHERE VETTURA.CODICE IN
( SELECT VENDITE_EFFETTUATE.VETTURA FROM VENDITE_EFFETTUATE)
AND VETTURA.MODELLO=MODELLO.CODICE
AND MARCA.CODICE=MODELLO.MARCA
GROUP BY MODELLO.NOME;


A questo punto mi viene una tabella di questo tipo:

+--------------------------------------------+
| NOME | NOME | COUNT(MODELLO.NOME) |
+--------+--------+--------------------------+
| PUNTO | FIAT | 3 |
| BRAVA | FIAT | 1 |
| 206 | PEUGEOT | 2 |
| 207 | PEUGEOT | 5 |
+--------+----------+------------------------+


Ora come faccio a dirgli che la Punto è il modello più venduto della Fiat e la 207 il più venduto della Peogeut ??
bigeyes è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 10:55   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Innanzitutto un consiglio.
Mi sembra che tu abbia usato un Database come MySql, essendo che stai facendo (e magari sei anche riuscito a fare) una Query di raggruppamento con i termini in GROUP BY che sono meno di quelli della SELECT, che viene permesso solo (da quanto ne so) da MySQL.
Questo non e' SQL Standard, e non si capisce neppure bene cosa debba venire fuori, quindi ti sconsiglio di usarlo in futuro.

Partendo dal presupposto che "piu' venduto" sia basato sul numero di vendite
Provo a mettere qui di seguito il ragionamento. E' una query unica.

1. trovare il conteggio di vetture per modello
Codice:
SELECT vettura,COUNT(*) cnt FROM vendite
GROUP BY vettura
2. Trovare il massimo delle vendite
Codice:
SELECT vettura,MAX(cnt) cntmax
FROM (la query di prima)
GROUP BY vettura
3. JOIN secca verso le tabelle di anagrafica per ottenere i descrittivi.
E' imprecisa perche' non essendoci il disegno E-R non si capisce quali siano i codici e dove puntino. Ma il concetto e' simile.
Codice:
SELECT * FROM (la query di prima) qry
JOIN vettura ON (qry.vettura=vettura.codice)
JOIN modello ON (qry.vettura=modello.codice)
JOIN marca ON (qry.vettura=marca.codice)
__________________
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 06-04-2008, 11:04   #3
amedeoviscido
Senior Member
 
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
stai facendo (e magari sei anche riuscito a fare) una Query di raggruppamento con i termini in GROUP BY che sono meno di quelli della SELECT
Siccome ho dovuto leggere 3 volte prima di capire, chiarifico meglio la cosa (gugo ha perfettamente ragione )

Guarda questa query:
Codice:
SELECT count(descr) as cnt, utente, descr FROM sts_dbms.log GROUP BY utente,descr
Se vedi la clausola "GROUP BY" ci sono specificati i due campi che non compaiono nel count. Questa richiesta è SQL standard, mentre una richiesta del tipo:

Codice:
SELECT count(descr) as cnt, utente, descr FROM sts_dbms.log GROUP BY utente
Viene rifiutata ad esempio da PostgreSQL che dice espressamente "manca descr dal raggruppamento"!
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17
Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo
amedeoviscido è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2008, 11:22   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Grazie per la specifica

Rileggendo sopra nelle prime due query ho scritto "Vettura".
Ovviamente dovevo scrivere "Modello", essendo il tuo ragionamento basato tutto sul modello.
Per come sono messe le tabelle e' piu' complesso da ottenere.
__________________
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


WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Quattro agenti Gemini 4 Argon sono morti...
Il supercomputer europeo che sta accorci...
Agenti IA violano oltre 100 siti, coinvo...
Honor Magic V7, prime indiscrezioni sul ...
Amazon vuole 12 reattori nucleari, ma tr...
Antigravity A1, ecco il Remote Controlle...
DRAM e HBM introvabili, il CEO di Dell a...
Giochi Xbox One girano su iPhone in mani...
Google Cloud Londra in errore su 36 prod...
Claude Code trova un miner nascosto nel ...
Le offerte Amazon di oggi: caricatore Ga...
Litografia EUV, la Cina mostra una sorge...
Funzionari di Trump hanno chiesto a CISA...
La bolla dell'IA nasconde un trucco: son...
Il solare supera il nucleare nella produ...
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: 16:04.


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