StatisticsMapper.xml 1.4 KB

123456789101112131415161718192021222324252627
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.example.cinema.data.StatisticsMapper">
  4. <select id="selectMovieScheduleTimes" resultType="com.example.cinema.vo.MovieScheduleTimeVO">
  5. select movie_id as movieId, count(*) as time,name from
  6. (select * from schedule where start_time between #{date} and #{nextDate}) s,
  7. movie where s.movie_id = movie.id group by movieId
  8. </select>
  9. <select id="selectMovieTotalBoxOffice" resultType="com.example.cinema.vo.MovieTotalBoxOfficeVO">
  10. select movie.id as movieId, boxOffice,name from movie
  11. left join
  12. (select movie_id as movieId,sum(fare) as boxOffice from schedule
  13. right join
  14. (select schedule_id from ticket where state = 1) t
  15. on schedule.id = t.schedule_id group by movie_id) s
  16. on s.movieId = movie.id
  17. order by boxOffice desc
  18. </select>
  19. <select id="selectAudiencePrice" resultType="com.example.cinema.vo.AudiencePrice">
  20. select user_id as userId, sum(fare) as totalPrice from schedule right join
  21. (select * from ticket where schedule_id in
  22. (select id from schedule where start_time between #{date} and #{nextDate}) and state = 1) t
  23. on schedule.id = schedule_id group by user_id
  24. </select>
  25. </mapper>