SOMMA solo TOP 10 righe

Ho una query in cui io sono solo selezionando la TOP 10 righe, ma ho una funzione di SOMMA che è ancora in corso la somma di tutte le righe (trascurando i primi 10). Come posso ottenere il totale di solo i primi 10 righe?
Ecco la mia funzione SOMMA :

SUM( fact.Purchase_Total_Amount) Total
database? limite?
La risposta a questo sta per essere dipendente dall’DBMS in uso (ad esempio, in SQL Server utilizzare TOP, in MySQL LIMIT, in Oracle ROWNUM o il ROW_NUMBER() funzione di finestra). Forse si potrebbe copiare e incollare la query che si sta utilizzando per ottenere la top 10 righe?
Mi dispiace, questo è SQL server. Questa è la prima parte della query: SELECT top 10 itmf.Table_Name ,SUM( fact.Purchase_Total_Amount) Total ,(SUM(fact.Purchase_Total_Amount)/ (SELECT SUM(Purchase_Total_Amount) FROM TableName fact join TableName2 .....

OriginaleL’autore Cfw412 | 2015-02-12

2 Replies
  1. 12

    Hai provato ad usare qualcosa di simile a questo:

    SELECT SUM(Whatever)
    FROM (
        SELECT TOP(10) Whatever
        FROM TableName
    ) AS T
    Così la TOP 10 dichiarazione deve essere all’interno della query nidificate? all’interno della query nidificata è la mia funzione per il calcolo della percentuale e che non sembra cambiare nulla
    Hai provato? Per quanto posso vedere (nei commenti), si può farlo in un modo diverso.
    Grazie Maciej Los. Hai salvato il mio tempo. Ho cercato di risolvere il caso per tutto il giorno e la tua risposta mi guida per il diritto di fare. Grazie.
    Siete i benvenuti.

    OriginaleL’autore Maciej Los

  2. 2

    Utilizza la funzione con una query nidificata

    SELECT SUM(innerTable.Purchase_Total_Amount) FROM
    (SELECT TOP 10 Purchase_Total_Amount FROM Table) as innerTable

    OriginaleL’autore LCIII

Lascia un commento