Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can we use group by and where condition with same fieldname

I have a requirement like have to pull all records in the date range the user selected, selecting all employees who started from 15-Jan-2011 to 20-Aug-2011 and group by date.

How should I write SQL query for this:

  SELECT *
    FROM employees 
   WHERE startdate >= '15-jan-2011' 
     AND startdate <= '20-aug-2011'
GROUP BY startdate
like image 533
Tom Crusie Avatar asked Aug 16 '11 03:08

Tom Crusie


1 Answers

Absolutely. It will result in filtering the records on your date range and then grouping it by each day where there is data.

It should be noted that you will only be able to select the startdate and then whatever aggregates you're calculating. Otherwise, it should work perfectly fine.

For example, this query will give you a count of employees for each startdate:

SELECT startdate, count(*)
FROM employees 
WHERE startdate >= '15-jan-2011' 
      AND startdate <= '20-aug-2011'
GROUP BY startdate
like image 132
Derek Kromm Avatar answered Oct 23 '22 00:10

Derek Kromm