- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在测试环境中测试查询,如下所示
查询:-
SELECT a.aggreatorid AS aggreatorid, '' AS txndesc, DATE_FORMAT(DATE(b.txndate),'%d/%m/%Y') AS txndate,
SUM(txncredit) AS txncredit, SUM(txndebit) AS txndebit
FROM walletmast a INNER JOIN wallettransaction b ON a.walletid=b.walletid
AND txndate BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY a.aggreatorid, DATE(b.txndate)
ORDER BY txndate DESC
查询抛出以下
错误:-
SQL Error (1055): 'digitalpurse.b.txnDate' isn't in GROUP BY
查询在我的本地环境中有效,但在测试环境中无效,经过大量搜索后我发现测试环境具有 sql_modes ,出于应用程序流程和安全目的无法更改
SQL 模式:-
@@sql_mode |
+------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION |
有没有办法在不更改 sql_mode 的情况下运行此查询?如果需要任何其他信息,请告诉我。预先感谢您:D
最佳答案
将查询移动到选择DATE(b.txndate)
的子查询中,以便它与GROUP BY
子句匹配,然后在主查询中执行格式化.
SELECT aggreatorid, '' AS txndesc, DATE_FORMAT(txndate, '%d/%m/%Y') AS txndate,
txncredit, txndebt
FROM (
SELECT a.aggreatorid AS aggreatorid, DATE(b.txndate) AS txndate,
SUM(txncredit) AS txncredit, SUM(txndebit) AS txndebit
FROM walletmast a
INNER JOIN wallettransaction b ON a.walletid=b.walletid
WHERE txndate BETWEEN CURDATE() - INTERVAL 3 DAY AND CURDATE()
GROUP BY a.aggreatorid, DATE(b.txndate)
) AS x
ORDER BY txndate DESC
关于mysql - 运行此查询而不更改 sql_mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41801510/
我有一个在 MySQL 5.6 上运行良好的存储过程。在最近的服务器迁移过程中,我们升级到 MySQL 5.7.19。 我的存储过程现在抛出错误: SELECT 列表的表达式 #1 不在 GROUP
我有一个在 MySQL 5.6 上运行良好的存储过程。在最近的服务器迁移过程中,我们升级到了 MySQL 5.7.19。 我的存储过程现在抛出错误: SELECT 列表的表达式 #1 不在 GROUP
我正在尝试使用这样的自定义查询: @Query("SELECT i " + "FROM ManagerWorkplace i " + "WHERE i.managerId
通过MySQL命令行客户端,我尝试设置全局mysql_mode: SET GLOBAL sql_mode = TRADITIONAL; 这适用于当前 session ,但在我重新启动服务器后,sql_
我正在尝试在测试环境中测试查询,如下所示 查询:- SELECT a.aggreatorid AS aggreatorid, '' AS txndesc, DATE_FORMAT(DATE(b.tx
我目前在 Windows 10 中使用 mysql server 5.6。在使用 mysql 时,不断出现这样的错误“以下列没有默认值”我在互联网上读到我可以解决这个问题如果我更改 sql_mode。
我的 MySQL 服务器的 sql_mode 设置为 STRICT。对于我正在开发的特定应用程序,我想将其更改为 TRADITIONAL。但是,我不可能在服务器级别执行此操作。 是否可以在我的 PHP
通过 MySQL 命令行客户端,我正在尝试设置全局 mysql_mode: SET GLOBAL sql_mode = TRADITIONAL; 这适用于当前 session ,但在我重新启动服务器后
sql_mode="",即强制不设定MySql模式(如不作输入检测、错误提示、语法模式检查等)应该能提高性能,但有如下问题: 如果插入了不合适数据(错误类型或超常),
请求有关“mysqldump”错误的帮助 我正在弄清楚为什么会发生以下错误。所以,请任何人帮助我。我的写作:A、B、C、DsA. 这是 my.ini 文件 # For advice on how to
我已经使用此 SQL 设置了 SQL_MODE。 SQL 为 SET SQL_MODE='ALLOW_INVALID_DATES'; 现在我们想要恢复它。 请建议我如何做到这一点。 最佳答案 首先运行
我正在运行这个 SQL 语句: SELECT *, GROUP_CONCAT(contact) AS contact FROM table4, table3, table2, tab
SELECT DISTINCT `A/C#` AS `A/C#`, `MyRef` AS `MyRef`, DATEDIFF('2017-06-30', `Date`) AS
这个问题在这里已经有了答案: SQL select only rows with max value on a column [duplicate] (27 个答案) Error related t
我看到我在要插入数据库的表的末尾有这段代码: /*!40000 ALTER TABLE `to_import` ENABLE KEYS */; /*!40101 SET SQL_MODE=@OLD_S
我在 mac El Capitan 上使用 5.7.9 版本,如下所示。 ~ mysql -u root -p Enter password: Welcome to the MySQL monito
我的 SQL 语句在另一台本地服务器上运行良好,但在最近安装的 lamp 服务器上尝试我的项目后,它显示以下错误- Expression #2 of SELECT list is not in GRO
我有这个脚本,我习惯于为动态结果做一个简单的投影 SELECT M.nom_utilisateur, SUM(M.montant_bulletin ) as Montant_T
MySQL中有一些sql_mode值: ANSI, IGNORE_SPACE, STRICT_TRANS_TABLES等 我怎样才能看到一个特定的值?手册说: You can retrieve the
我的 SQL 查询不工作显示此错误: this is incompatible with sql_mode=only_full_group_by 我在其他 mysql pannel 中运行此查询,那里
我是一名优秀的程序员,十分优秀!