2016-12-11 4 views
1

Je suis en train de montrer une liste des coûts et ont le total au bas de ma liste:Comment afficher la table et le coût total ensemble?

mysql> select title_name, rental_transaction, renter_lname,renter_fname, rental_cost 
    -> from rentals 
    -> where rental_date between '161201' and '161219' 
    -> and DATEDIFF(date(rental_return_date), date(rental_date)) > 7; 
+----------------------------+--------------------+--------------+--------------+-------------+ 
| title_name     | rental_transaction | renter_lname | renter_fname | rental_cost | 
+----------------------------+--------------------+--------------+--------------+-------------+ 
| WarioWare Touched!   |     13 | Brennan  | Kathleen  |  2.99 | 
| Hot Shots Golf: Open Tee |     23 | Grey-Gubler | Eva   |  3.99 | 
| WarioWare Touched!   |     29 | Smithers  | Kieran  |  2.99 | 
| The Urbz: Sims in the City |     56 | Winters  | Emily  |  4.99 | 
| Lumines: Puzzle Fusion  |     68 | Ryan   | Rebecca  |  3.99 | 
| WarioWare Touched!   |     89 | Byrne  | Ann   |  2.99 | 
+----------------------------+--------------------+--------------+--------------+-------------+ 
6 rows in set (0.00 sec) 

Je veux essentiellement ce tableau, mais je veux montrer le coût total de la location au bas de la table et je me demande si cela est possible de faire?

+0

Honnêtement, je ferait cela dans deux requêtes distinctes. –

Répondre

0

Vous pouvez le faire en utilisant UNION. Mais comme UNION a besoin des deux requêtes pour avoir le même nombre de colonnes que vous aurez besoin d'ajouter un peu null as columnName

La requête:

select title_name, rental_transaction, renter_lname,renter_fname, rental_cost 
from rentals 
where rental_date between '161201' and '161219' 
and DATEDIFF(date(rental_return_date), date(rental_date)) > 7; 
union 
select 'total_cost', null as columnName, null as columnName, null as columnName, sum(rental_cost) 
from rentals 

Le résultat:

enter image description here