我试图弄清楚获取我需要的查询结果的正确语法。这是场景:
我正在设计一个SaaS应用程序,并有一个名为trip的表,如下所示:
table.trips
- trip_id (pk, ai)
- client_id (fk)
- shop_id (fk)
- trip_date (date)
我需要能够获得每天在桌子上的旅行次数(通过shop_id),然后提供每次trip_date的TRIPS数量,例如:
DATE | TRIP SUM
--------------------------
01-01-2011 | 3
01-02-2011 | 2
01-03-2011 | 5
关于正确语法的任何想法?
答案 0 :(得分:22)
SELECT COUNT(*), trip_date , shop_id
FROM trips
GROUP BY trip_date , shop_id
答案 1 :(得分:3)
这样的东西?
select
DATE(trip_date) as [DATE],
count(1) as [TRIP SUM]
from
trips
group by
DATE(trip_date), shop_id
我不是mySQL的人,但你需要使用T-SQL DatePart等价物,我使用DATE()
函数来剥去日期的时间部分。
答案 2 :(得分:2)
SELECT shop_id, trip_date, count(trip_id)
FROM trips
GROUP BY shop_id, trip_date
答案 3 :(得分:2)
select trip_date,count(*)
from trips
where shop_id=[the shop id]
group by trip_date
只要日期与您显示的格式一致,这将有效。如果它还有时间则你必须删除时间。
此外,我不知道client_id是否必须在此查询中进入,如果您必须按其分组,那么您必须将它放在select或group旁边的trip_date上。如果你想按它过滤,请把它放在哪里。
答案 4 :(得分:1)
如果日期列还存储小时和分钟,则需要将子字符串函数应用于日期,只需要具有日期列的 yyyy-mm-dd 部分,如下所示: / p>
render json: @latestgins