Wednesday, September 05, 2012
Super SUBquery
select count(a.book_id)
from books a,
(select book_id,status,min(book_date) book_date
from books_in
where status='out'
group by book_id) b
where a.book_id=b.book_id
and a.place='positionA'
and a.buy_date like '2012-07-%'
and TIMESTAMPDIFF(minute,a.buy_date, b.book_date) >= 1440 and TIMESTAMPDIFF(minute,a.buy_date, b.book_date) < 2880;
-- This is equal to
select count(books.book_id)
from books,
(select book_id,status,min(book_date) book_date
from books_in
where status='out'
group by book_id
) books_in_sub
where books.book_id=books_in_sub.book_id
and books.place='positionA'
and books_in_sub.status = 'out'
and buy_date like '2012-07-%'
and TIMESTAMPDIFF(minute,buy_date,books_in_sub.book_date) >= 1440 and TIMESTAMPDIFF(minute,buy_date,books_in_sub.book_date) < 2880;
---------------------------------------------------------------------
select book_id,status,min(book_date) book_date
from books_in
where status='out'
group by book_id
Labels:
SQL Practice
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment