Mam tabeli, który wygląda mniej więcej tak:MySQL - jak wybierać na podstawie wartości innego SELECT
Name Year Value
A 2000 5
A 2001 3
A 2002 7
A 2003 1
B 2000 6
B 2001 1
B 2002 8
B 2003 2
Użytkownik może kwerendę opartą na szeregu lat i zwróci sumę wartości zgrupowane według nazwy, jako taki (zakładamy przeszukał roku to 2000 - 2001):
Name SUM(Value)
A 8
B 7
teraz chciałem wstawić pole obliczeniowe, które wyprowadza stosunek sumy wartości każdej nazwy dla wszystkich lat do suma wszystkich wartości. Zasadniczo procent wszystkich wartości nadana A i B, odpowiednio, jak:
Name SUM(Value) % Of Total
A 8 0.484 (16/33)
B 7 0.516 (17/33)
zauważyć, że chociaż użytkownik odpytywany tylko 2000-2001, chcę użyć obliczanie sumy we wszystkich latach. Od wielu godzin szukam i eksperymentuję i nie wiem, jak to zrobić. Wiem tylko, jak podsumować latami zapytania:
SELECT `Name`, SUM(`Value`)/(SELECT SUM(`Value`) FROM `table1`) AS "% of Total"
FROM `table1`
WHERE `Year` BETWEEN 2000 AND 2001
GROUP BY `Name`;
Proszę pomóc! Jestem nowicjuszem i nie rozumiem języka SQL w dużym stopniu, więc proszę wyjaśnij dowolny zaawansowany kod. Dziękuję za życzliwość.
Najprościej zrozumieć i działać jak czar. Dziękuję bardzo! – John