php – Zend_Db_Select按随机顺序排列,兼容mssql / mysql
|
好的就是这种情况,我有一个用Zend_Framework编写的应用程序,它兼容MySQL和MSSQL作为后端.现在,ZF非常擅长解决这两种语言之间的许多SQL差异/差异,但我还没有想出这个. 目标是从表中选择1个随机记录,这是一个非常简单的陈述. 这是一个select语句,例如:
这适用于MySQL数据库表,因为MySQL的sql如下:
另一方面,现在MSSQL使用newid()函数进行随机化. 有没有某种帮助我可以传递给order()函数,以使它意识到它必须使用正确的顺序?我搜索了文档和zfforums,发现了一些提示,但没有什么可靠的. 我找到的其中一件事是: ORDER BY RANDOM() not working – ZFForums.com 他们使用以下内容:
它工作…但我不打算通过键入它并对字符串进行替换来构建我的select语句,我试图将它保存在相同的Zend_Db_Select对象中.我也尝试将Zend_Db_Expr(‘RANDOM()’)传入语句中的 – > order(),但它失败了.他还发布了一个理论解决方案来找到答案,但我不打算重写这个函数,修改$db-> fetch()调用. 有任何想法吗? 最佳答案 您可以快速将函数抽象到表中 – 谁知道它正在使用哪个适配器:
另外,我在某个地方找到了一篇我遗失的文章,建议尝试以下方法:
颠覆MSSQL的查询优化器并欺骗它计算每一行的新值. (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- php – 有效的ip-位置查询
- mysql – 更改SQLAlchemy的Session.delete()行为
- 有没有办法在MySQL查询中包含重复项:select..from..where.
- php – MySql查询中的随机值与分页
- Mysql必读MySQL4 File ‘c:mysqlsharecharsets?.conf’ not
- MYSQL数据库MySQL中字符串索引对update的影响分析
- php – 在Doctrine 2中与单个实体的父子关系
- 哪个在MySQL where子句中表现更好:YEAR()vs BETWEEN?
- MySQL查询速度慢…有时候
- mysql – 如何在joomla 1.7中使用AND编写’WHERE’子句条件
