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