supponga la seguente tabella con 3 campi numerici:Come faccio a raggruppare per colonne calcolate?
Images (table)
--------------
Width
Height
Amount
larghezza e l'altezza sono le dimensioni delle immagini in millimetri. Ora voglio creare un rapporto sulla quantità di immagini raggruppate in base alle loro dimensioni in centimetri. Ciò significa che devo GROUP BY 2 colonne non esistenti.
posso fare:
SELECT ROUND(Width/10,0) AS W
, ROUND(Height/10,0) AS H
, SUM(Amount) AS A
FROM IMAGES
GROUP BY Width
, Height
ORDER BY W
, H
, A
ma questo farà il mm alla conversione cm solo a livello di vista e si tradurrà in più di una riga per stesse dimensioni.
ad es.
W H A
--- --- -
150 159 2
150 160 1
non determinerà in 1 categoria
W H A
-- -- -
15 16 3
ma in
W H A
-- -- -
15 16 2
15 16 1
Il motore mirato è in realtà un database FileMaker, che purtroppo non sembra supportare funzioni di aggregazione all'interno del gruppo Clausola BY.
+1: O ... Sostituire 'DA IMAGES' con' FROM (SELECT ROUND (Larghezza/10,0) AS W, ROUND (Altezza/10,0) AS H, quantità FROM IMMAGINI) AS dati. Quindi puoi 'SELEZIONARE W, H' e' GROUP BY W, H' e 'ORDER BY W, H' e sapere che tutti i riferimenti a' W, H' fanno sempre riferimento alle colonne derivate e non devono ripetere i calcoli . – MatBailie
Funziona con mysql ma non in FileMaker.Sembra che FileMaker non consenta le funzioni in GROUP BY né le tabelle delle subquery :( – mselbach
@mselbach È possibile creare variabili di tabella in FileMaker? Che dire delle tabelle temporanee? In tal caso, questa operazione potrebbe essere in due passaggi in cui si crea il file diviso prima i valori, poi li aggregiamo in seguito – Matthew