繁体   English   中英

如何做这个简单的mysql select语句

[英]How to do this simple mysql select statement

我正在学习有关SQL的更多信息,并且发现它已经对解决我不得不在PHP中进行后修复的问题有所帮助,现在我发现mysql可以在检索时做到这一点。

我的查询是这个。

    SELECT *
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

但是我现在想做

    SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, *
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

在date_add部分解决了时区差异问题的地方,但是正如我在语句的select部分中提到的那样,我现在不知道如何使用,*(以及其他所有内容),它不起作用。 我不想仅仅因为我添加了此日期修正而列出检索后的每个字段...

有什么办法解决呢? 谢谢。

只需在表名前面加上它就可以了

SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, messages.*
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

另外,您确定需要选择所有字段吗? 您可以仅选择所需的列来提高速度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM