2015-05-15 1 views
1

У меня есть структуру БД следующим образом:Получить Sum с помощью PHP и SQL является дата же

Date   Morning Evening Qty(Ltr) Total 
13-May-2015 101   10    111 
15-May-2015 10   1.25    11.25 
15-May-2015 10   2.25    12.25 
15-May-2015 101   10    111 
16-May-2015 10   1.25    11.25  
16-May-2015 10   2.25    12.25  
17-May-2015 10   2.25    12.25  

То, что я хочу, чтобы создать новую таблицу, в которой данные с одинаковой датой должны быть в одной строке только, означает, что необходимо добавить повторяющиеся даты. Как я могу это сделать ?

Я хочу результата

Date   Morning Evening Qty(Ltr) Total 
13-May-2015 101   10    111 
15-May-2015 121   13.5   134.5 
16-May-2015 20   3.5    23.5 
17-May-2015 10   2.25    12.25  
+0

дублирующих даты должны быть добавлены или не должен ??? –

+1

Покажите результат, который вы хотите. А также код, который вы пробовали. –

+0

следует добавить на самом деле это для разных пользователей –

ответ

2

Вы можете получить данные с помощью

SELECT SUM(Morning) as Morning, SUM(EveningQty) as EveningQty, SUM(Total) as Total 
FROM table 
WHERE Date = '$date' 

Так положить в 15-May-2015 для $date даст вам 121, 13,50, 134,50

+0

, но не думайте, что это будет так долго. –

+0

Попробуйте, это единственный способ узнать. – Styphon

5

Вы ищете a group by статья:

SELECT `date`, SUM(morning), SUM(evening), SUM(total) 
FROM  mytable 
GROUP BY `date` 
+0

Утром и вечером также должен быть SUM –

+0

@AmirRahimiFarahani. Вы правы, я неправильно читаю OP. Исправлена. Спасибо, что заметили! – Mureinik

2
SELECT `Date`, 
     SUM(Morning) AS Morning, 
     SUM(EveningQty) AS EveningQty, 
     SUM(Morning + EveningQty) AS Total 
    FROM SomeTable 
    GROUP BY `Date` 
0

Я думаю, что этот код поможет вам

INSERT INTO YOUR_NEW_TABLE (`date`, morning, evening, total) 
SELECT date, sum(`morning`), sum(`evening`), sum(`Total`) 
FROM YOUR_OLD_TABLE group by date 
1

Если вы хотите поместить эти данные в новую таблицу:

INSERT INTO Table1_Sum 
(Date, Morning, EveningQty, Total) 
SELECT Date, SUM(Morning), SUM(EveningQty), SUM(Total) 
FROM Table1 
GROUP BY Date 
Смежные вопросы