2014-05-21 2 views
0

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

b_id price date 
---- ---------------- 
1  98.30 2014-05-14 
1  65.70 2014-05-07 
2  14.40 2014-05-06 
2  55.60 2014-05-07 
2  38.20 2014-04-06 
3  84.40 2014-04-02 
3  31.30 2014-04-12 
3  74.40 2014-05-06 

Я пытался отделить его с помощью -

while ($row = mysqli_fetch_array($result1)) { 
    if($row['b_id'] == 1){ 


    } 

} 

Но я не могу их запрограммировать. Как я могу выделить строки? Я делаю это неправильно?

+0

было бы лучше сделать это прямо на запросе вместо кода PHP ? –

+0

Попробуйте 'SELECT SUM (b_id) FROM tablename WHERE b_id = 1 AND date = 'your_pick'' –

ответ

0

Вы можете сделать то, что хотите, по вашему запросу. Это будет выглядеть так:

select b_id, max(date) as maxdate, sum(price) total 
    from your table 
group by b_id 
order by b_id 
0

Вы должны использовать SQL для достижения своей цели. Это, как правило, быстрее, когда база данных обрабатывает простые расчеты:

SELECT b_id, 
SUM(price) AS 'Price', 
MAX(date) AS 'Date' 
FROM YourTable 
GROUP BY b_id 
0

Если вы хотите общую цену, ваша добыча может быть

SELECT b_id, SUM(price) AS total_price FROM your_table GROUP BY b_id 

while ($row = mysqli_fetch_array($result1)) { 
    echo "Id : " . $row['b_id'] . " Price : " . $row['total_price']; 
} 
Смежные вопросы