Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Query SQL per trovare il numero di ripetizioni di un valore

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto UtenteMassimoB, Foto Utentefairyvilje

1
voti

[1] Query SQL per trovare il numero di ripetizioni di un valore

Messaggioda Foto Utenteboiler » 6 mag 2019, 9:20

Ciao a tutti

I miei ricordi di SQL sono molto arrugginiti...
Sono riuscito a scrivere la query che mi ritorna i dati che mi servono.
Ora sarebbe utile se potessi estrarre un'altra informazione.

Quello che ottengo al momento è una lista con numeri di serie, che possono essere presenti piú di una volta e non sono necessariamente in ordine:
Codice: Seleziona tutto
1111
1111
2222
1111
2222
3333
4444
5555
4444
4444
6666


Quello che vorrei ottenere è una lista di quante occorrenze per ogni numero di serie ci sono (non deve essere necessariamente collegata al numero di serie stesso, è solo per statistica, quindi i dati possono essere "anonimi").

Nel caso dell'esempio qui sopra il risultato che vorrei sarebbe (anche in un altro ordine va bene)
Codice: Seleziona tutto
3
2
1
3
1
1


Mi date un suggerimento su come procedere?

Grazie, Boiler
Avatar utente
Foto Utenteboiler
15,2k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2564
Iscritto il: 9 nov 2011, 12:27

1
voti

[2] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto UtentePietroBaima » 6 mag 2019, 9:49

Con Mathematica è di una semplicità disarmante, usando il comando Tally

Codice: Seleziona tutto
Vect = {1111, 1111, 2222, 1111, 2222, 3333, 4444, 5555, 4444, 4444,  6666};
Tally[Vect]


che restituisce

Codice: Seleziona tutto
{{1111, 3}, {2222, 2}, {3333, 1}, {4444, 3}, {5555, 1}, {6666, 1}}


Ciao,
Pietro.
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,1k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9407
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[3] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto Utenteboiler » 6 mag 2019, 9:56

Anche in C# :mrgreen:

Codice: Seleziona tutto
var vect = new int[] {1111, 1111, 2222, 1111, 2222, 3333, 4444, 5555, 4444, 4444,  6666};
var occurrences = vect.GroupBy (n => n);
foreach (var ii in occurrences)
{
   Console.WriteLine(ii.Count());
}


Dico la verità: non è un problema che non riuscirei a risolvere altrimenti... era piú interesse personale di scoprire se è possibile farlo in SQL ;-) (linguaggio che uso pochissimo e a livello molto superficiale).

Boiler
Avatar utente
Foto Utenteboiler
15,2k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2564
Iscritto il: 9 nov 2011, 12:27

1
voti

[4] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto UtentePietroBaima » 6 mag 2019, 10:03

Anche io non uso spesso SQL, anche se ogni tanto mi tocca...

Forse questo può essere di aiuto. :D
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex

Io capisco le cose per come le scrivete. Per esempio: K sono kelvin e non chilo, h.z è la costante di Planck per zepto o per la zeta di Riemann e l'inverso di una frequenza non si misura in siemens.
Avatar utente
Foto UtentePietroBaima
77,1k 6 12 13
G.Master EY
G.Master EY
 
Messaggi: 9407
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[5] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto Utenteboiler » 6 mag 2019, 10:24

Perfetto, grazie!
Anche se ora ho il sospetto che il resto della query non faccia quello che voglio #-o

Penso che farò un export e me lo analizzo in C# :mrgreen: :lol:

Boiler
Avatar utente
Foto Utenteboiler
15,2k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2564
Iscritto il: 9 nov 2011, 12:27

1
voti

[6] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto UtentePraticamente » 6 mag 2019, 10:26

Codice: Seleziona tutto
create table Boilers(series int);

insert into Boilers values(1111);
insert into Boilers values(1111);
insert into Boilers values(2222);
insert into Boilers values(1111);
insert into Boilers values(2222);
insert into Boilers values(3333);
insert into Boilers values(4444);
insert into Boilers values(5555);
insert into Boilers values(4444);
insert into Boilers values(4444);
insert into Boilers values(6666);

select series, count (series) from Boilers group by series


dovrebbe darti
Codice: Seleziona tutto
1111|3
2222|2
3333|1
4444|3
5555|1
6666|1
Avatar utente
Foto UtentePraticamente
152 1 3
Frequentatore
Frequentatore
 
Messaggi: 117
Iscritto il: 11 gen 2019, 15:37

0
voti

[7] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto Utentejumpmad » 9 mag 2019, 16:58

SELECT COUNT (*) AS SERIALI FROM <nome_tabella> GROUP BY <nome_campo>;
Avatar utente
Foto Utentejumpmad
176 1 4
Frequentatore
Frequentatore
 
Messaggi: 121
Iscritto il: 18 gen 2012, 17:47

0
voti

[8] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto Utentejumpmad » 10 mag 2019, 7:38

Potrei capire da chi mi ha dato voto negativo qual è il problema? magari posso imparare qualcosa di nuovo.
Avatar utente
Foto Utentejumpmad
176 1 4
Frequentatore
Frequentatore
 
Messaggi: 121
Iscritto il: 18 gen 2012, 17:47

0
voti

[9] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto Utentelelerelele » 10 mag 2019, 8:31

uno dei tanti siti interessanti per SQL.

https://www.codecademy.com/articles/sql-commands

E' sempre utile tenersi a portata di mano i comandi....specie se si usano raramente. :-)

All'inizio mi è capitato più volte di usare access per crearmi le sql, anzi, ci sono anche progeammini free che fanno proprio questo, generano sql.

(non sapendo cosa devi ottenere) Se poi usi windows, usando l'oggetto datadgrid, associato all'oggetto datagridview, collegato ad una table locale, puoi visualizzare, filtrare ed ordinare, qualunque colonna.

saluti.
Avatar utente
Foto Utentelelerelele
2.191 3 7 8
Expert EY
Expert EY
 
Messaggi: 2504
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[10] Re: Query SQL per trovare il numero di ripetizioni di un val

Messaggioda Foto Utentexyz » 10 mag 2019, 11:31

Uno dei database DBMS SQL più usati è SQLite (è un codice C da aggiungere ad altri programmi, non ha funzioni da server) open source multi piattaforma:

https://www.sqlite.org/index.html

si trova integrato in tutti i telefoni Android e in altri linguaggi come il Python e PHP.

Esistono anche pagine di test online con SQLite:

https://www.tutorialspoint.com/execute_sql_online.php
Avatar utente
Foto Utentexyz
5.930 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1572
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti