mysql - 按日期加入查询

标签 mysql sql join

请有人帮助我。

我需要加入这两个查询并按小时分组。查询结果可以有很多天。

结果:Query1

SELECT DATE_FORMAT( Venta.fechaImpresion,  "%h" ) AS fechaImpresion2, COUNT( * ) AS total
FROM  `Venta` 
WHERE Venta.fechaImpresion LIKE  "2016-05-02 %"
GROUP BY HOUR( Venta.fechaImpresion ) , DAY( Venta.fechaImpresion ) 
LIMIT 0 , 30

结果:Query2

SELECT DATE_FORMAT(Venta.fechaImpresion,"%h") as fechaImpresion FROM `Venta`
where Venta.fechaImpresion >= "2016-05-02" and Venta.fechaImpresion <= "2016-05-09"  
 GROUP BY hour( Venta.fechaImpresion) 

如果我尝试加入一个查询,结果为零。

SELECT DATE_FORMAT( Venta.fechaImpresion,  "%h" ) AS fecha, dia1.total AS total1
FROM  `Venta` 
LEFT JOIN (

SELECT DATE_FORMAT( Venta.fechaImpresion,  "%h" ) AS fechaImpresion
FROM  `Venta` 
WHERE Venta.fechaImpresion >=  "2016-05-02"
AND Venta.fechaImpresion <=  "2016-05-09"
GROUP BY HOUR( Venta.fechaImpresion )
)fecha ON fecha.fechaImpresion = Venta.fechaImpresion
LEFT JOIN (

SELECT DATE_FORMAT( Venta.fechaImpresion,  "%h" ) AS fechaImpresion2, COUNT( * ) AS total
FROM  `Venta` 
WHERE Venta.fechaImpresion LIKE  "2016-05-02 %"
GROUP BY HOUR( Venta.fechaImpresion ) , DAY( Venta.fechaImpresion )
)dia1 ON ( dia1.fechaImpresion2 = fecha.fechaImpresion ) 
WHERE Venta.fechaImpresion >=  "2016-05-02"
AND Venta.fechaImpresion <=  "2016-05-09"
GROUP BY HOUR( Venta.fechaImpresion ) 

最佳答案

你可以这样试试

从第一个表中选择b.second表列,a.*,b第二个表中a.date列=b.date列

关于mysql - 按日期加入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37241984/

相关文章:

java - 插入 "Duplicate entry ... for key PRIMARY"和 "Krakow"时为 "Kraków"

mysql - 如何使用 ON DUPLICATE KEY INSERT INTO...SELECT

mysql - 如何使用数字搜索 varchar 列?

mysql - SQL SUM 具有活跃 child 的 parent 数量

mysql - 将一个表连接到另一个表的 MAX 记录

mysql - 查找表的高效索引

mysql - 从数据库中有效地选择最近(距离)记录

mysql - 多个 IN() 运算符 - 无结果

php - 如何通过连接计数在 mysql 中排序数据?

php - 对 MySQL join 真的很困惑