Combinazione di più punti dati in un singolo punto dati. Questo di solito è usato in riferimento a SQL e di solito a una funzione aggregata di qualche tipo.
Esistono linee guida o regole empiriche per determinare quando memorizzare valori aggregati e quando calcolarli al volo? Ad esempio, supponiamo che io abbia dei widget che gli utenti possono valutare (vedi schema sotto). Ogni volta che visualizzo un widget potrei calcolare la valutazione media degli utenti dalla Ratingstabella. In alternativa, …
Mi sembra di ricordare che (su Oracle) c'è una differenza tra pronunciare select count(*) from any_tablee select count(any_non_null_column) from any_table. Quali sono le differenze tra queste due affermazioni, se ce ne sono?
Sto scrivendo lo schema per un semplice database bancario. Ecco le specifiche di base: Il database memorizzerà le transazioni contro un utente e una valuta. Ogni utente ha un saldo per valuta, quindi ogni saldo è semplicemente la somma di tutte le transazioni rispetto a un determinato utente e valuta. …
Prima di Oracle 11.2 utilizzavo una funzione di aggregazione personalizzata per concatenare una colonna in una riga. 11.2 Aggiunta la LISTAGGfunzione, quindi sto cercando di usarla invece. Il mio problema è che devo eliminare i duplicati nei risultati e non sembra essere in grado di farlo. Ecco un esempio CREATE …
Vorrei utilizzare un valore predefinito per una colonna che dovrebbe essere utilizzata se non viene restituita alcuna riga. È possibile in PostgreSQL? Come posso farlo? O c'è un altro modo in cui posso risolvere questo? Ad esempio qualcosa del genere: SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table WHERE org_id …
Sono in una situazione in cui desidero ottenere il valore minimo da 6 colonne. Finora ho trovato tre modi per raggiungere questo obiettivo, ma ho delle preoccupazioni riguardo alle prestazioni di questi metodi e vorrei sapere quale sarebbe meglio per le prestazioni. Il primo metodo consiste nell'utilizzare un'istruzione case grande …
Lo standard ANSI SQL definisce (capitolo 6.5, specifica della funzione set) il seguente comportamento per le funzioni aggregate su set di risultati vuoti: COUNT(...) = 0 AVG(...) = NULL MIN(...) = NULL MAX(...) = NULL SUM(...) = NULL Restituire NULL per AVG, MIN e MAX ha perfettamente senso, poiché la …
Per poter utilizzare HAVINGnelle query SQL, è necessario un a GROUP BYper aggregare i nomi delle colonne? Ci sono casi speciali in cui è possibile utilizzare HAVINGsenza GROUP BYquery in SQL? Devono coesistere contemporaneamente?
Prime parole Puoi tranquillamente ignorare le sezioni seguenti (e inclusi) JOIN: Iniziare se vuoi solo prendere una crepa del codice. Lo sfondo e i risultati servono solo come contesto. Si prega di guardare la cronologia delle modifiche prima del 06-10-2015 se si desidera vedere l'aspetto iniziale del codice. Obbiettivo In …
Riscrittura completa della domanda Sto cercando una funzione aggregata First (). Qui ho trovato qualcosa che quasi funziona: CREATE OR REPLACE FUNCTION public.first_agg ( anyelement, anyelement ) RETURNS anyelement LANGUAGE sql IMMUTABLE STRICT AS $$ SELECT $1; $$; -- And then wrap an aggregate around it CREATE AGGREGATE public.first ( …
In un database di transazioni che coprono migliaia di entità in 18 mesi, vorrei eseguire una query per raggruppare ogni possibile periodo di 30 giorni entity_idcon una SOMMA degli importi delle transazioni e COUNT delle loro transazioni in quel periodo di 30 giorni, e restituire i dati in modo che …
Sto cercando di combinare più intervalli di date (il mio carico è di circa 500, la maggior parte dei casi 10) che possono o meno sovrapporsi ai più grandi intervalli di date contigui possibili. Per esempio: Dati: CREATE TABLE test ( id SERIAL PRIMARY KEY NOT NULL, range DATERANGE ); …
Mi sono imbattuto in questo puzzle nei commenti qui CREATE TABLE r (b INT); SELECT 1 FROM r HAVING 1=1; SQL Server e PostgreSQL restituiscono 1 riga. MySQL e Oracle restituiscono zero righe. Che è corretto? O sono entrambi ugualmente validi?
Quando eseguo questo comando con SUM() SELECT COUNT(*) AS [Records], SUM(t.Amount) AS [Total] FROM dbo.t1 AS t WHERE t.Id > 0 AND t.Id < 101; Sto ricevendo Arithmetic overflow error converting expression to data type int. Qualche idea su quale sia la causa? Sto solo seguendo le istruzioni in questa …
Ho due tavoli employeee phones. Un dipendente può avere da 0 a n numeri di telefono. Voglio elencare i nomi dei dipendenti con i loro numeri di telefono. Sto usando la query qui sotto che funziona bene. SELECT empname,array_agg(phonenumber) AS phonenumbers FROM employee LEFT OUTER JOIN phones ON employee.empid = …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.