Salve,
dal titolo si capisce veramente poco, scusatemi.
Sto cercando di fare una cosa del genere
ovviamente così non funziona perchè non conosce la newColumn.
Qualche idea?
Ho già provato con una subquery, anzi diverse combinazioni, ma non mi soddisfa il tempo di esecuzione o la replicazione di codice.
prova 1 - 0,19 sec
Troppo tempo, tra l'altro fa la ROUND su 80000 risultati per restituirmi la stessa tabella con una colonna in più.
prova 2 - 0,07 sec
Quest'ultima potrebbe andare anche bene, ma non mi piace dove replicare due volte la stessa cosa (la ROUND() che in realtà è qualcosa di questo tipo ROUND((SQRT(POW(x-(0),2) + POW(y-(0),2))),2) ).
dal titolo si capisce veramente poco, scusatemi.
Sto cercando di fare una cosa del genere
Codice:
SELECT *, ROUND(......) AS newColumn FROM tabella WHERE newColumn < 10 ORDER BY newColumn
ovviamente così non funziona perchè non conosce la newColumn.
Qualche idea?
Ho già provato con una subquery, anzi diverse combinazioni, ma non mi soddisfa il tempo di esecuzione o la replicazione di codice.
prova 1 - 0,19 sec
Codice:
SELECT * FROM ( select *,ROUND(...) as new from table ) as t1 WHERE new < 10 ORDER BY new
prova 2 - 0,07 sec
Codice:
SELECT *,ROUND(...) as new FROM tabella WHERE 10 > ROUND(...) order by new