Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在GROUPBY语句中使用ORDERBY子句_Php_Mysql_Group By - Fatal编程技术网

Php 如何在GROUPBY语句中使用ORDERBY子句

Php 如何在GROUPBY语句中使用ORDERBY子句,php,mysql,group-by,Php,Mysql,Group By,我有两张表tbl\u发行日志,tbl\u杂志发行 tbl_issue_log ============ +----------+--------+--------+-----------+---------------------+ | issue_id | mag_id | log_id | operation | updated_time | +----------+--------+--------+-----------+---------------------+ |

我有两张表
tbl\u发行日志,tbl\u杂志发行

tbl_issue_log
============

+----------+--------+--------+-----------+---------------------+
| issue_id | mag_id | log_id | operation |    updated_time     |
+----------+--------+--------+-----------+---------------------+
| 2        | 1      | 1      | 1         | 2014-01-30 21:29:44 |
| 3        | 4      | 1      | 1         | 2015-01-30 21:29:44 |
| 2        | 1      | 1      | 3         | 2015-01-31 21:29:44 |
+----------+--------+--------+-----------+---------------------+
在tbl_问题日志中,包含同一问题id的多条记录。我一次只想要一个问题 这必须是最新的更新时间

我的问题是

SELECT 
    `tbl_issue_log`.`operation`,
    `tbl_magazine_issue`.`ISSUE_ID`,
    `tbl_magazine_issue`.`ISSUE_NAME`,
    `tbl_magazine_issue`.`MAGAZINE_ID`,
    `tbl_magazine_issue`.`COVER_PAGE_THUMB`,
    `tbl_magazine_issue`.`FROM_DATE`,
    `tbl_magazine_issue`.`TO_DATE`,
    `tbl_magazine_issue`.`issue_description`,
    `tbl_magazine_issue`.`login_page_no`
FROM
    `tbl_issue_log`
        LEFT JOIN
    `tbl_magazine_issue` ON tbl_magazine_issue.ISSUE_ID = tbl_issue_log.issue_id


WHERE
    (tbl_issue_log.mag_id = '1')
        AND (tbl_magazine_issue.ISSUE_STATUS = 3)
        AND (tbl_issue_log.updated_time > '2014-02-25 00:42:22')
GROUP BY tbl_issue_log.issue_id
ORDER BY tbl_issue_log updated_time DESC;
这里我得到了基于问题id的输出。但没有得到最新更新的计时记录


如果有人知道这件事,请帮助我

你能试着把ORDERBY子句改为

ORDER BY tbl_issue_log.updated_time  DESC;
编辑--- 当您根据问题id进行分组时,mysql将选择与问题id匹配的第一行。order by稍后运行,它基本上不会返回您要查找的内容。为此,您可能需要使用子查询方法

select some_table.* FROM 
(
SELECT 
    MAX(tbl_issue_log.updated_time) AS updated_time,
    `tbl_issue_log`.`operation`,
    `tbl_magazine_issue`.`ISSUE_ID`,
    `tbl_magazine_issue`.`ISSUE_NAME`,
    `tbl_magazine_issue`.`MAGAZINE_ID`,
    `tbl_magazine_issue`.`COVER_PAGE_THUMB`,
    `tbl_magazine_issue`.`FROM_DATE`,
    `tbl_magazine_issue`.`TO_DATE`,
    `tbl_magazine_issue`.`issue_description`,
    `tbl_magazine_issue`.`login_page_no`
FROM
    `tbl_issue_log`
        LEFT JOIN
    `tbl_magazine_issue` ON tbl_magazine_issue.ISSUE_ID = tbl_issue_log.issue_id


WHERE
    (tbl_issue_log.mag_id = '1')
        AND (tbl_magazine_issue.ISSUE_STATUS = 3)
        AND (tbl_issue_log.updated_time > '2014-02-25 00:42:22')
GROUP BY tbl_issue_log.issue_id
) some_table
ORDER BY some_table.updated_time DESC;
试试这个

SELECT * FROM
(SELECT 
`tbl_issue_log`.`operation`,
`tbl_magazine_issue`.`ISSUE_ID`,
`tbl_magazine_issue`.`ISSUE_NAME`,
`tbl_magazine_issue`.`MAGAZINE_ID`,
`tbl_magazine_issue`.`COVER_PAGE_THUMB`,
`tbl_magazine_issue`.`FROM_DATE`,
`tbl_magazine_issue`.`TO_DATE`,
`tbl_magazine_issue`.`issue_description`,
`tbl_magazine_issue`.`login_page_no`
FROM
`tbl_issue_log`
    LEFT JOIN
`tbl_magazine_issue` ON tbl_magazine_issue.ISSUE_ID = tbl_issue_log.issue_id
WHERE
(tbl_issue_log.mag_id = '1')
    AND (tbl_magazine_issue.ISSUE_STATUS = 3)
    AND (tbl_issue_log.updated_time > '2014-02-25 00:42:22')
ORDER BY tbl_issue_log.updated_time DESC ) TEMP_TABLE
GROUP BY ISSUE_ID

谢谢,那是个抄袭错误。我获得了输出,但无法获取最新更新的问题详细信息。
SELECT * FROM
(SELECT 
`tbl_issue_log`.`operation`,
`tbl_magazine_issue`.`ISSUE_ID`,
`tbl_magazine_issue`.`ISSUE_NAME`,
`tbl_magazine_issue`.`MAGAZINE_ID`,
`tbl_magazine_issue`.`COVER_PAGE_THUMB`,
`tbl_magazine_issue`.`FROM_DATE`,
`tbl_magazine_issue`.`TO_DATE`,
`tbl_magazine_issue`.`issue_description`,
`tbl_magazine_issue`.`login_page_no`
FROM
`tbl_issue_log`
    LEFT JOIN
`tbl_magazine_issue` ON tbl_magazine_issue.ISSUE_ID = tbl_issue_log.issue_id
WHERE
(tbl_issue_log.mag_id = '1')
    AND (tbl_magazine_issue.ISSUE_STATUS = 3)
    AND (tbl_issue_log.updated_time > '2014-02-25 00:42:22')
ORDER BY tbl_issue_log.updated_time DESC ) TEMP_TABLE
GROUP BY ISSUE_ID