FAQ |
Kalender |
2008-01-26, 11:40 | #1 | ||
|
|||
Klarade millennium-buggen
|
SELECT op.orders_id,o.orders_id,op.final_price,op.product s_quantity,op.products_tax,o.date_purchased FROM orders_products op, orders o WHERE op.orders_id=o.orders_id
Finns det något snyggt sätt att summera op.final_price i samma fråga? Jag vill att samma fråga skall spotta ut en total så länge op.orders_id=o.orders_id med varandra Typ Order 1 2000:- Order 2 2010:- Detta är då orderrader , men vill ha ut en summa för varje order , helst i en och samma samma fråga om det går. SQL: MySQL |
||
Svara med citat |
2008-01-26, 11:58 | #2 | ||
|
|||
Supermoderator
|
Du kan ju använda sum för att summera men däremot så kan du inte summera och plocka ut enskilda rader från samma tabell i en och samma sql-sats.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2008-01-26, 12:57 | #3 | ||
|
|||
Klarade millennium-buggen
|
sum(kolumn) , kolumn1 group by kolumn,kolumn1 with rollup ger dig en extra rad med delsummor av kolumn när värdet i kolumn1 ändrar sig.
|
||
Svara med citat |
2008-01-26, 16:32 | #4 | ||
|
|||
Supermoderator
|
Citat:
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2008-01-26, 17:08 | #5 | |||
|
||||
Mycket flitig postare
|
Om det bara är t.ex. delsummorna och den sammanlagda summan du vill ha kan du ju använda:
SELECT GROUP_CONCAT(pris), SUM(pris) FROM … Den lösningen är ju inte så snygg om man har många detaljer om varje produkt man behöver få reda på. Jag brukar göra en temporär tabell med hela "inköpslistan" och sedan summera listan och på så sätt få hela listan som en array med sista elementet som summering. Det har fördelen att man kan göra flera "undersökningar" av inköpslistan för att få fram andra värden samt att det blir översiktligt men har nackdelen att man behöver en temporär tabell (men bara ett anrop till databasen). |
|||
Svara med citat |
2008-01-26, 17:22 | #6 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Om dina sidor är väldigt informationstunga så kanske det blir lättare att lägga beräkningarna i databasfrågorna istället för i scripten. Man kan också titta på möjligheten att göra två frågor, inte säkert att det kostar så mycket mera. |
||
Svara med citat |
Svara |
|
|