Je suppose que vous êtes après un pourcentage de compteur. Si vous voulez comparer des valeurs, vous devrez changer la sélection ci-dessous un peu. Voici comment je le ferais. Veuillez noter que je ne l'ai pas exécuté donc vous pouvez avoir quelques erreurs de syntaxe mais il devrait être facile de les corriger.
WITH books AS (
SELECT order_date
FROM orders
JOIN products
ON orders.product_id = products.product_id
WHERE products.product_category = 'books'
),
last_three_months AS (
SELECT 0 as counter_1, count(*) AS counter_2
FROM books
WHERE order_date > DATEADD(MONTH, -3, GETDATE());
),
total_orders AS (
select count(*) AS counter_1, 0 as counter_2
FROM books
),
all_together AS (
SELECT counter_1, counter_2
FROM last_three_months
UNION ALL
SELECT counter_1, counter_2
FROM total_orders
),
sale_sums AS (
SELECT SUM(counter_2) AS counter_2, SUM(counter_1) AS counter_1
FROM all_together
)
SELECT counter_2/counter_1 * 100
FROM sale_sums