2016-08-14 5 views
0

Пожалуйста, у меня есть таблица с 10 строками, и я хотел бы суммировать первые пять данных.Mysqli sum последние пять данных

---------- 
data 
---------- 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

, и я хочу, чтобы результат 1 + 2 + 3 + 4 + 5 = 15

+1

Похоже, вы суммируете ___first___ 5 строк, а не последние 5 .... как вы определяете, какие последние? –

+0

@MarkBaker i означает сумму первых 5 строк –

ответ

1

SQL-запрос (когда данные не отсортированы, и вы этого не требуют, чтобы быть):

SELECT sum(data) 
FROM (SELECT data 
     FROM myTable 
     LIMIT 5 
) AS subquery; 

SQL-запрос (когда данные не отсортированы, но требуют, чтобы это было):

SELECT sum(data) 
FROM (SELECT data 
     FROM myTable 
     ORDER BY data ASC 
     LIMIT 5 
) AS subquery; 

http://sqlfiddle.com/#!9/e51db/2

+0

Первый запрос возвращает сумму всех данных, а не только первые 5, и возвращает 55. Однако второй запрос, имеющий подзапрос в нем, отлично работает и возвращает 15. – feareoc

+0

@RasmusRosengren Я обновил ответ. –

0

В вашем SQL-запросе используйте limit, например LIMIT 0,5, который ограничит результаты таблицы только первыми 5 строками. и sum это.

Так что:

SELECT sum(your_column) from `your_table` LIMIT 0,5 

Если это не помогает, показать, как вы тянете данные из MySQL.

Смежные вопросы