Come usare "Instead of WHERE" con le funzioni di aggregazione in SQL?


In SQL, la clausola "Instead of WHERE" può essere utilizzata per filtrare i risultati di una query che utilizza funzioni di aggregazione come SUM, COUNT, AVG, MAX, MIN, etc.

La sintassi generale per utilizzare "Instead of WHERE" con funzioni di aggregazione è la seguente:

SELECT aggregate_function(column_name)
FROM table_name
GROUP BY column_name
HAVING condition;

In questa sintassi, la clausola "HAVING" viene utilizzata al posto di "WHERE" per filtrare i risultati in base alle condizioni specificate. La clausola "GROUP BY" viene utilizzata per raggruppare i risultati in base alla colonna specificata.

Ad esempio, supponiamo di avere una tabella "orders" con le colonne "order_id", "customer_id" e "order_total". Per trovare il totale degli ordini per ogni cliente con un totale di ordine superiore a 1000, possiamo utilizzare la seguente query:

SELECT customer_id, SUM(order_total)
FROM orders
GROUP BY customer_id
HAVING SUM(order_total) > 1000;

In questo esempio, la clausola "HAVING" viene utilizzata al posto di "WHERE" per filtrare i risultati in base alla somma del totale dell'ordine per ogni cliente.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.