sql - 教义组数据
问题描述
我想使用最具性能的方式对学说数据进行分组。在以下查询中,我需要创建一个对象(或数组),该对象(或数组)返回以下 SiteBundle:DJ 及其子 SiteBundle:HJ,后跟正确的 WHERE 过滤器。我不确定是否需要使用子查询或 group by 子句,但我正在使用以下查询:
$sql = ' SELECT dj FROM SiteBundle:DJ dj '
. ' LEFT JOIN SiteBundle:HJ hj WITH dj.id = hj.date '
. ' LEFT JOIN SiteBundle:Job job WITH job.id = dj.job '
. ' LEFT JOIN SiteBundle:Dia d WITH d.id = dj.dia '
. ' WHERE job.active = 1 and job.id = :job '
. ' AND (hj.hour BETWEEN :ini and :fim) AND (d.data >= :now)'
. ' GROUP BY dj.id, hj.id, d.data ORDER BY d.data ASC';
回报:
array:2 [▼
0 => DJ {#1584 ▶}
1 => DJ {#1580 ▶}
]
$dj->getHJ() 返回与该 DJ 相关的所有 SiteBundle:HJ,但我只需要在 where 子句中过滤的那些。
如何将它们分组?
解决方案
你有一个 ”;” 在 where 子句的末尾,将其删除并重试。
推荐阅读
- salt - 独立仆从到大师仆从
- php - 如何从前端按钮放置控制台命令?
- android - 在应用程序中使用签名实现指纹认证
- sql - 如何在 MySQL 中使用 JOIN 更新多行?
- java - 通过多线程同时上传多个文件到 S3 抛出 java.nio.channels.ClosedChannelException: null
- azure-cosmosdb - 使用 Mongo API 在 CosmoDB 上请求超时
- eclipse - 为 Eclipse 添加 Gradle 任务
- javascript - 量角器按包含空格的标题获取 div
- javascript - 通过单击按钮触发时,所有模式都显示相同的内容
- java - JAVA:播放器的背景渲染?