Php 如何按组显示所有记录
我有这张桌子Php 如何按组显示所有记录,php,mysql,Php,Mysql,我有这张桌子 id | promoid | fecha | Tarifa -------------------------------------- 1 | 1 | 2016-10-01 | 74.38 2 | 1 | 2016-10-02 | 74.38 3 | 2 | 2016-10-01 | 111.57 4 | 2 | 2016-10-02 | 111.57 id | promoid | fecha
id | promoid | fecha | Tarifa
--------------------------------------
1 | 1 | 2016-10-01 | 74.38
2 | 1 | 2016-10-02 | 74.38
3 | 2 | 2016-10-01 | 111.57
4 | 2 | 2016-10-02 | 111.57
id | promoid | fecha | Tarifa
--------------------------------------
1 | 1 | 2016-10-01 | 74.38
2 | 1 | 2016-10-02 | 74.38
3 | 2 | 2016-10-01 | 111.57
4 | 2 | 2016-10-02 | 111.57
我想分组并在日期之间按promoid显示所有记录。我曾尝试与group by合作,但只获得了一张记录(第一张)
这是我的SQL
SELECT *
FROM promociones
WHERE fecha >= '2016-10-01'
AND fecha < '2016-10-03'
GROUP
BY promoid
这个表太长了,但是我想获得所有与promid相关的行。像这样的
id | promoid | fecha | Tarifa
--------------------------------------
1 | 1 | 2016-10-01 | 74.38
3 | 2 | 2016-10-01 | 111.57
选择*
表二
其中fecha>=“2016-10-01”
和fecha<'2016-10-03'
按promoid订购
“正常”。。。
通过查询分组“allways”意味着两件事:
- 结果集的记录数少于没有
groupby
- Select的表达式列表(输出中显示的内容)包括与
生成的每个组相关且有意义的任何分组函数(group by
,sum()
,count()
)max()
select*from…
解决,或者你需要更好地解释或思考你想要什么
因此给出:按expr1、expr2选择expr1、expr2、expr3、expr4分组
请将groupby
视为一个过程,它接收一些输入数据并按照以下规则给出一些输出数据:
- 对于输入数据上存在的expr1、expr2的每个不同组合,输出将只有一条记录。(这就是您的示例显示两条记录的原因)
- expr3、expr4必须是(或包含)分组函数,这些函数将输出“该组”相关数据。
这里有一个关于MySql的词:在MySql语法中,如果您省略了expr3和expr4上的任何分组函数,您可以假设它使用whater()
作为分组函数,这样:whater(expr3),whater(expr4)
并从“该组”中输出任何值(这就是为什么您可以在示例中使用*并获得显示的输出)
指定所需的输出以及您通过查询获得的输出您所说的“我想要分组依据”是什么意思?所需的结果是什么样的?这将是从promociones ORDER by Id中选择的*也许您可以向他提供一些解释?也许我解释得不好。我需要将包含相同内容的所有行分块分开这是另一个例子
SELECT *
FROM tabletwo
WHERE fecha >= '2016-10-01'
AND fecha < '2016-10-03'
ORDER BY promoid